Merge master into staging-next
This commit is contained in:
commit
e13e3f4c54
|
@ -76,6 +76,8 @@
|
|||
|
||||
- PHP now defaults to PHP 8.2, updated from 8.1.
|
||||
|
||||
- The ISC DHCP package and corresponding module have been removed, because they are end of life upstream. See https://www.isc.org/blogs/isc-dhcp-eol/ for details and switch to a different DHCP implementation like kea or dnsmasq.
|
||||
|
||||
- `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
|
||||
|
||||
- `services.keyd` changed API. Now you can create multiple configuration files.
|
||||
|
@ -112,6 +114,8 @@
|
|||
|
||||
- The default `kops` version is now 1.27.0 and support for 1.24 and older has been dropped.
|
||||
|
||||
- `pharo` has been updated to latest stable (PharoVM 10.0.5), which is compatible with the latest stable and oldstable images (Pharo 10 and 11). The VM in question is the 64bit Spur. The 32bit version has been dropped due to lack of maintenance. The Cog VM has been deleted because it is severily outdated. Finally, the `pharo-launcher` package has been deleted because it was not compatible with the newer VM, and due to lack of maintenance.
|
||||
|
||||
## Other Notable Changes {#sec-release-23.11-notable-changes}
|
||||
|
||||
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
||||
|
|
|
@ -15,8 +15,6 @@ files using the same mechanism.
|
|||
import json
|
||||
import sys
|
||||
import shutil
|
||||
import os
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
|
@ -92,12 +90,13 @@ def main() -> None:
|
|||
print("Partition config is empty.")
|
||||
sys.exit(1)
|
||||
|
||||
temp = tempfile.mkdtemp()
|
||||
shutil.copytree(repart_definitions, temp, dirs_exist_ok=True)
|
||||
target_dir = Path("amended-repart.d")
|
||||
target_dir.mkdir()
|
||||
shutil.copytree(repart_definitions, target_dir, dirs_exist_ok=True)
|
||||
|
||||
for name, config in partition_config.items():
|
||||
definition = Path(f"{temp}/{name}.conf")
|
||||
os.chmod(definition, 0o644)
|
||||
definition = target_dir.joinpath(f"{name}.conf")
|
||||
definition.chmod(0o644)
|
||||
|
||||
contents = config.get("contents")
|
||||
add_contents_to_definition(definition, contents)
|
||||
|
@ -106,7 +105,7 @@ def main() -> None:
|
|||
strip_nix_store_prefix = config.get("stripStorePaths")
|
||||
add_closure_to_definition(definition, closure, strip_nix_store_prefix)
|
||||
|
||||
print(temp)
|
||||
print(target_dir.absolute())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -865,7 +865,6 @@
|
|||
./services/networking/croc.nix
|
||||
./services/networking/dante.nix
|
||||
./services/networking/dhcpcd.nix
|
||||
./services/networking/dhcpd.nix
|
||||
./services/networking/dnscache.nix
|
||||
./services/networking/dnscrypt-proxy2.nix
|
||||
./services/networking/dnscrypt-wrapper.nix
|
||||
|
|
|
@ -114,6 +114,16 @@ in
|
|||
(mkRemovedOptionModule [ "services" "rtsp-simple-server" ] "Package has been completely rebranded by upstream as mediamtx, and thus the service and the package were renamed in NixOS as well.")
|
||||
|
||||
(mkRemovedOptionModule [ "i18n" "inputMethod" "fcitx" ] "The fcitx module has been removed. Please use fcitx5 instead")
|
||||
(mkRemovedOptionModule [ "services" "dhcpd4" ] ''
|
||||
The dhcpd4 module has been removed because ISC DHCP reached its end of life.
|
||||
See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
|
||||
Please switch to a different implementation like kea or dnsmasq.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "dhcpd6" ] ''
|
||||
The dhcpd6 module has been removed because ISC DHCP reached its end of life.
|
||||
See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
|
||||
Please switch to a different implementation like kea or dnsmasq.
|
||||
'')
|
||||
|
||||
# Do NOT add any option renames here, see top of the file
|
||||
];
|
||||
|
|
|
@ -1,230 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg4 = config.services.dhcpd4;
|
||||
cfg6 = config.services.dhcpd6;
|
||||
|
||||
writeConfig = postfix: cfg: pkgs.writeText "dhcpd.conf"
|
||||
''
|
||||
default-lease-time 600;
|
||||
max-lease-time 7200;
|
||||
${optionalString (!cfg.authoritative) "not "}authoritative;
|
||||
ddns-update-style interim;
|
||||
log-facility local1; # see dhcpd.nix
|
||||
|
||||
${cfg.extraConfig}
|
||||
|
||||
${lib.concatMapStrings
|
||||
(machine: ''
|
||||
host ${machine.hostName} {
|
||||
hardware ethernet ${machine.ethernetAddress};
|
||||
fixed-address${
|
||||
optionalString (postfix == "6") postfix
|
||||
} ${machine.ipAddress};
|
||||
}
|
||||
'')
|
||||
cfg.machines
|
||||
}
|
||||
'';
|
||||
|
||||
dhcpdService = postfix: cfg:
|
||||
let
|
||||
configFile =
|
||||
if cfg.configFile != null
|
||||
then cfg.configFile
|
||||
else writeConfig postfix cfg;
|
||||
leaseFile = "/var/lib/dhcpd${postfix}/dhcpd.leases";
|
||||
args = [
|
||||
"@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
|
||||
"-pf" "/run/dhcpd${postfix}/dhcpd.pid"
|
||||
"-cf" configFile
|
||||
"-lf" leaseFile
|
||||
] ++ cfg.extraFlags
|
||||
++ cfg.interfaces;
|
||||
in
|
||||
optionalAttrs cfg.enable {
|
||||
"dhcpd${postfix}" = {
|
||||
description = "DHCPv${postfix} server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = "touch ${leaseFile}";
|
||||
serviceConfig = {
|
||||
ExecStart = concatMapStringsSep " " escapeShellArg args;
|
||||
Type = "forking";
|
||||
Restart = "always";
|
||||
DynamicUser = true;
|
||||
User = "dhcpd";
|
||||
Group = "dhcpd";
|
||||
AmbientCapabilities = [
|
||||
"CAP_NET_RAW" # to send ICMP messages
|
||||
"CAP_NET_BIND_SERVICE" # to bind on DHCP port (67)
|
||||
];
|
||||
StateDirectory = "dhcpd${postfix}";
|
||||
RuntimeDirectory = "dhcpd${postfix}";
|
||||
PIDFile = "/run/dhcpd${postfix}/dhcpd.pid";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
machineOpts = { ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
hostName = mkOption {
|
||||
type = types.str;
|
||||
example = "foo";
|
||||
description = lib.mdDoc ''
|
||||
Hostname which is assigned statically to the machine.
|
||||
'';
|
||||
};
|
||||
|
||||
ethernetAddress = mkOption {
|
||||
type = types.str;
|
||||
example = "00:16:76:9a:32:1d";
|
||||
description = lib.mdDoc ''
|
||||
MAC address of the machine.
|
||||
'';
|
||||
};
|
||||
|
||||
ipAddress = mkOption {
|
||||
type = types.str;
|
||||
example = "192.168.1.10";
|
||||
description = lib.mdDoc ''
|
||||
IP address of the machine.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
dhcpConfig = postfix: {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the DHCPv${postfix} server.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
option subnet-mask 255.255.255.0;
|
||||
option broadcast-address 192.168.1.255;
|
||||
option routers 192.168.1.5;
|
||||
option domain-name-servers 130.161.158.4, 130.161.33.17, 130.161.180.1;
|
||||
option domain-name "example.org";
|
||||
subnet 192.168.1.0 netmask 255.255.255.0 {
|
||||
range 192.168.1.100 192.168.1.200;
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Extra text to be appended to the DHCP server configuration
|
||||
file. Currently, you almost certainly need to specify something
|
||||
there, such as the options specifying the subnet mask, DNS servers,
|
||||
etc.
|
||||
'';
|
||||
};
|
||||
|
||||
extraFlags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = lib.mdDoc ''
|
||||
Additional command line flags to be passed to the dhcpd daemon.
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The path of the DHCP server configuration file. If no file
|
||||
is specified, a file is generated using the other options.
|
||||
'';
|
||||
};
|
||||
|
||||
interfaces = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = ["eth0"];
|
||||
description = lib.mdDoc ''
|
||||
The interfaces on which the DHCP server should listen.
|
||||
'';
|
||||
};
|
||||
|
||||
machines = mkOption {
|
||||
type = with types; listOf (submodule machineOpts);
|
||||
default = [];
|
||||
example = [
|
||||
{ hostName = "foo";
|
||||
ethernetAddress = "00:16:76:9a:32:1d";
|
||||
ipAddress = "192.168.1.10";
|
||||
}
|
||||
{ hostName = "bar";
|
||||
ethernetAddress = "00:19:d1:1d:c4:9a";
|
||||
ipAddress = "192.168.1.11";
|
||||
}
|
||||
];
|
||||
description = lib.mdDoc ''
|
||||
A list mapping Ethernet addresses to IPv${postfix} addresses for the
|
||||
DHCP server.
|
||||
'';
|
||||
};
|
||||
|
||||
authoritative = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Whether the DHCP server shall send DHCPNAK messages to misconfigured
|
||||
clients. If this is not done, clients may be unable to get a correct
|
||||
IP address after changing subnets until their old lease has expired.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
|
||||
] ++ flip map [ "4" "6" ] (postfix:
|
||||
mkRemovedOptionModule [ "services" "dhcpd${postfix}" "stateDir" ] ''
|
||||
The DHCP server state directory is now managed with the systemd's DynamicUser mechanism.
|
||||
This means the directory is named after the service (dhcpd${postfix}), created under
|
||||
/var/lib/private/ and symlinked to /var/lib/.
|
||||
''
|
||||
);
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.dhcpd4 = dhcpConfig "4";
|
||||
services.dhcpd6 = dhcpConfig "6";
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf (cfg4.enable || cfg6.enable) {
|
||||
|
||||
systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6;
|
||||
|
||||
warnings = [
|
||||
''
|
||||
The dhcpd4 and dhcpd6 modules will be removed from NixOS 23.11, because ISC DHCP reached its end of life.
|
||||
See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
|
||||
Please switch to a different implementation like kea, systemd-networkd or dnsmasq.
|
||||
''
|
||||
];
|
||||
};
|
||||
|
||||
}
|
|
@ -335,7 +335,7 @@ let
|
|||
+ ";"))
|
||||
+ "
|
||||
listen ${addr}:${toString port} "
|
||||
+ optionalString (ssl && vhost.http2) "http2 "
|
||||
+ optionalString (ssl && vhost.http2 && oldHTTP2) "http2 "
|
||||
+ optionalString ssl "ssl "
|
||||
+ optionalString vhost.default "default_server "
|
||||
+ optionalString vhost.reuseport "reuseport "
|
||||
|
@ -380,6 +380,9 @@ let
|
|||
server {
|
||||
${concatMapStringsSep "\n" listenString hostListen}
|
||||
server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
|
||||
${optionalString (hasSSL && vhost.http2 && !oldHTTP2) ''
|
||||
http2 on;
|
||||
''}
|
||||
${optionalString (hasSSL && vhost.quic) ''
|
||||
http3 ${if vhost.http3 then "on" else "off"};
|
||||
http3_hq ${if vhost.http3_hq then "on" else "off"};
|
||||
|
@ -463,6 +466,8 @@ let
|
|||
);
|
||||
|
||||
mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
|
||||
|
||||
oldHTTP2 = versionOlder cfg.package.version "1.25.1";
|
||||
in
|
||||
|
||||
{
|
||||
|
|
|
@ -37,6 +37,9 @@ let
|
|||
sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=";
|
||||
};
|
||||
|
||||
arch = {
|
||||
x86_64 = "amd64";
|
||||
}.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "processing";
|
||||
|
@ -50,16 +53,16 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ ant unzip makeWrapper wrapGAppsHook ];
|
||||
buildInputs = [ jdk javaPackages.jogl_2_3_2 ant rsync ffmpeg batik ];
|
||||
buildInputs = [ jdk javaPackages.jogl_2_4_0 ant rsync ffmpeg batik ];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
buildPhase = ''
|
||||
echo "tarring jdk"
|
||||
tar --checkpoint=10000 -czf build/linux/jdk-17.0.6-amd64.tgz ${jdk}
|
||||
tar --checkpoint=10000 -czf build/linux/jdk-17.0.6-${arch}.tgz ${jdk}
|
||||
cp ${ant}/lib/ant/lib/{ant.jar,ant-launcher.jar} app/lib/
|
||||
mkdir -p core/library
|
||||
ln -s ${javaPackages.jogl_2_3_2}/share/java/* core/library/
|
||||
ln -s ${javaPackages.jogl_2_4_0}/share/java/* core/library/
|
||||
ln -s ${vaqua} app/lib/VAqua9.jar
|
||||
ln -s ${flatlaf} app/lib/flatlaf.jar
|
||||
ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar
|
||||
|
|
|
@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ SlothOfAnarchy ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "batsignal";
|
||||
};
|
||||
}
|
||||
|
|
40
pkgs/applications/misc/hyprdim/default.nix
Normal file
40
pkgs/applications/misc/hyprdim/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hyprdim";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "donovanglover";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-0FSviEaKANTHBZa12NbNKnOfcbXQLQzJBGMDruq71+g=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-eNtieSj4tr5CeH4BDclkp41QGQLkjYgLXil7sXQcfdU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
installManPage man/hyprdim.1
|
||||
|
||||
installShellCompletion --cmd hyprdim \
|
||||
--bash <(cat completions/hyprdim.bash) \
|
||||
--fish <(cat completions/hyprdim.fish) \
|
||||
--zsh <(cat completions/_hyprdim)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automatically dim windows in Hyprland when switching between them";
|
||||
homepage = "https://github.com/donovanglover/hyprdim";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ donovanglover ];
|
||||
};
|
||||
}
|
|
@ -67,5 +67,6 @@ buildPythonApplication rec {
|
|||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ srghma ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "safeeyes";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -44,12 +44,15 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
flex
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
scdoc
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
|
@ -62,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
pipewire
|
||||
pixman
|
||||
pulseaudio
|
||||
scdoc
|
||||
tllist
|
||||
udev
|
||||
] ++ lib.optionals (waylandSupport) [
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubevpn";
|
||||
version = "1.1.34";
|
||||
version = "1.1.35";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KubeNetworks";
|
||||
repo = "kubevpn";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-P4lROZ6UxsCtMwGWIDBkXjd8v/wtD7u9LBoUUzP9Tz0=";
|
||||
sha256 = "sha256-fY0SKluJ1SG323rV7eDdhmDSMn49aITXYyFhR2ArFTw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-LihRVqVMrN45T9NLOQw/EsrEMTSLYYhWzVm+lYXtFRQ=";
|
||||
vendorHash = "sha256-aU8/C/p/VQ3JYApgr/i5dE/nBs0QjsvXBSMnEmj/Sno=";
|
||||
|
||||
# TODO investigate why some config tests are failing
|
||||
doCheck = false;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
|
||||
signal-desktop = {
|
||||
dir = "Signal";
|
||||
version = "6.23.0";
|
||||
hash = "sha256-WZe1fJ6H+h7QcXn+gR7OJ+KSOgd9NxTDLMs7UOFeq70=";
|
||||
version = "6.27.1";
|
||||
hash = "sha256-nEOt6bep6SqhAab8yD9NlRrDGU2IvZeOxSqPj2u1bio=";
|
||||
};
|
||||
signal-desktop-beta = {
|
||||
dir = "Signal Beta";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
, nix-update-script
|
||||
, makeWrapper
|
||||
, openssh
|
||||
, libxcrypt
|
||||
|
@ -11,26 +11,23 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "shellhub-agent";
|
||||
version = "0.12.3";
|
||||
version = "0.12.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "shellhub-io";
|
||||
repo = "shellhub";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WKMy2JttXFRcW1yb5aQ6xe8BoSoN65K8Hlmac62+QPc=";
|
||||
hash = "sha256-OvXbc3feCatyubbRZlaiXvGP59ApyAS0b0Z6SeJsZnE=";
|
||||
};
|
||||
|
||||
modRoot = "./agent";
|
||||
|
||||
vendorHash = "sha256-BqzpQcL3U6SIrDW5NfBG0D2zyvv1zNu7uoOBYmKbF4Y=";
|
||||
vendorHash = "sha256-qQRi4GeepRpYPhE5ftUj01tMCqBh5txbizfkVXmrgOQ=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
ignoredVersions = ".(rc|beta).*";
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
tests.version = testers.testVersion {
|
||||
package = shellhub-agent;
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
let
|
||||
inherit (pkgs) symlinkJoin callPackage nodePackages;
|
||||
|
||||
python3 = pkgs.python3.override {
|
||||
packageOverrides = self: super: {
|
||||
python3 = pkgs.python3 // {
|
||||
pkgs = pkgs.python3.pkgs.overrideScope (self: super: {
|
||||
# `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
|
||||
sagelib = self.callPackage ./sagelib.nix {
|
||||
inherit flint arb;
|
||||
|
@ -29,7 +29,7 @@ let
|
|||
sage-setup = self.callPackage ./python-modules/sage-setup.nix {
|
||||
inherit sage-src;
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
jupyter-kernel-definition = {
|
||||
|
|
|
@ -44,6 +44,5 @@ mavenJdk11.buildMavenPackage rec {
|
|||
];
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.taeer ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -43,16 +43,16 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rio";
|
||||
version = "0.0.9";
|
||||
version = "0.0.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "raphamorim";
|
||||
repo = "rio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-faK0KShbMUuvFbR2m9oCeWSwwrSxyXNWreODtHFyp5U=";
|
||||
hash = "sha256-jyfobmwDCsvhpKcAD0ivxfRENaTVjjauRBMDNPgvjVY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-54uyqk6fW3pHCK7JC5T7c8C/0Hcq0K/PBn71tNwnA0g=";
|
||||
cargoHash = "sha256-efMw07KH8Nic76MWTyf16Gg/8PyM9gZKSNs5cuIKBJQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
|
|
|
@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ vyp ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, guile
|
||||
, libevent
|
||||
, pkg-config
|
||||
, texinfo
|
||||
}:
|
||||
|
@ -24,6 +25,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
buildInputs = [
|
||||
guile
|
||||
libevent
|
||||
texinfo
|
||||
];
|
||||
|
||||
|
@ -34,6 +36,6 @@ stdenv.mkDerivation rec {
|
|||
description = "Concurrent ML-like concurrency for Guile";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ vyp ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://notabug.org/cwebber/guile-gcrypt";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ethancedwards8 ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://gitlab.com/guile-git/guile-git";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ethancedwards8 ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
|
|||
description = "Guile bindings for GnuTLS library";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ foo-dogsquared ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://github.com/artyom-poptsov/guile-ssh";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ethancedwards8 ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
|
|||
description = "XCB bindings for Guile";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ vyp ];
|
||||
platforms = platforms.linux;
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ coreutils, lib, stdenv, fetchgit, ant, jdk8, jdk11, git, xorg, udev, libGL, libGLU, mesa, xmlstarlet }:
|
||||
{ coreutils, lib, stdenv, fetchgit, ant, jdk8, jdk11, git, xorg, udev, libGL, libGLU, mesa, xmlstarlet, xcbuild, darwin }:
|
||||
|
||||
{
|
||||
jogl_2_4_0 =
|
||||
|
@ -27,8 +27,15 @@
|
|||
|
||||
unpackCmd = "cp -r $curSrc \${curSrc##*-}";
|
||||
|
||||
nativeBuildInputs = [ ant jdk11 git xmlstarlet ];
|
||||
buildInputs = [ udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXi xorg.libXt xorg.libXxf86vm xorg.libXrender mesa ];
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
sed -i '/if="use.macos/d' gluegen/make/gluegen-cpptasks-base.xml
|
||||
rm -r jogl/oculusvr-sdk
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ ant jdk11 git xmlstarlet ]
|
||||
++ lib.optionals stdenv.isDarwin [ xcbuild ];
|
||||
buildInputs = lib.optionals stdenv.isLinux [ udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXi xorg.libXt xorg.libXxf86vm xorg.libXrender mesa ]
|
||||
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk_11_0.frameworks.AppKit darwin.apple_sdk_11_0.frameworks.Cocoa ];
|
||||
|
||||
# Workaround build failure on -fno-common toolchains:
|
||||
# ld: ../obj/Bindingtest1p1Impl_JNI.o:(.bss+0x8): multiple definition of
|
||||
|
@ -48,6 +55,10 @@
|
|||
|
||||
( cd jogl/make
|
||||
|
||||
# prevent looking for native libraries in /usr/lib
|
||||
substituteInPlace build-*.xml \
|
||||
--replace 'dir="''${TARGET_PLATFORM_USRLIBS}"' ""
|
||||
|
||||
# force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
|
||||
# if arm/aarch64 support will be added, this block might be commented out on those platforms
|
||||
# on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
|
||||
|
@ -63,83 +74,16 @@
|
|||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/java
|
||||
cp -v $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-amd64}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-amd64}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/nativewindow/nativewindow{,-awt,-natives-linux-amd64,-os-drm,-os-x11}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-*}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-*}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/nativewindow/nativewindow{,-awt,-natives-linux-*,-os-drm,-os-x11}.jar $out/share/java/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Java libraries for 3D Graphics, Multimedia and Processing";
|
||||
homepage = "https://jogamp.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
};
|
||||
|
||||
jogl_2_3_2 =
|
||||
let
|
||||
version = "2.3.2";
|
||||
|
||||
gluegen-src = fetchgit {
|
||||
url = "git://jogamp.org/srv/scm/gluegen.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "00hybisjwqs88p24dds652bzrwbbmhn2dpx56kp4j6xpadkp33d0";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
pname = "jogl";
|
||||
inherit version;
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://jogamp.org/srv/scm/jogl.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "0msi2gxiqm2yqwkmxqbh521xdrimw1fly20g890r357rcgj8fsn3";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
find . -type f -name '*.java' \
|
||||
-exec sed -i 's@"libGL.so"@"${libGL}/lib/libGL.so"@' {} \; \
|
||||
-exec sed -i 's@"libGLU.so"@"${libGLU}/lib/libGLU.so"@' {} \;
|
||||
'';
|
||||
|
||||
# TODO: upgrade to jdk https://github.com/NixOS/nixpkgs/pull/89731
|
||||
nativeBuildInputs = [ jdk8 ant git ];
|
||||
buildInputs = [ udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXt xorg.libXxf86vm xorg.libXrender ];
|
||||
|
||||
# Workaround build failure on -fno-common toolchains:
|
||||
# ld: ../obj/Bindingtest1p1Impl_JNI.o:(.bss+0x8): multiple definition of
|
||||
# `unsigned_size_t_1'; ../obj/TK_Surface_JNI.o:(.bss+0x8): first defined here
|
||||
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
buildPhase = ''
|
||||
cp -r ${gluegen-src} $NIX_BUILD_TOP/gluegen
|
||||
chmod -R +w $NIX_BUILD_TOP/gluegen
|
||||
( cd ../gluegen/make
|
||||
ant )
|
||||
|
||||
( cd make
|
||||
|
||||
# force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
|
||||
# if arm/aarch64 support will be added, this block might be commented out on those platforms
|
||||
# on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
|
||||
cp build-newt.xml build-newt.xml.old
|
||||
fgrep -v 'if="setup.addNativeBroadcom"' build-newt.xml.old > build-newt.xml
|
||||
|
||||
ant )
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/java
|
||||
cp $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-amd64}.jar $out/share/java/
|
||||
cp $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-amd64}.jar $out/share/java/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Java libraries for 3D Graphics, Multimedia and Processing";
|
||||
homepage = "https://jogamp.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
99
pkgs/development/pharo/default.nix
Normal file
99
pkgs/development/pharo/default.nix
Normal file
|
@ -0,0 +1,99 @@
|
|||
{ cairo
|
||||
, cmake
|
||||
, fetchurl
|
||||
, freetype
|
||||
, gcc
|
||||
, git
|
||||
, gnumake
|
||||
, lib
|
||||
, libffi
|
||||
, libgit2
|
||||
, libpng
|
||||
, libuuid
|
||||
, makeBinaryWrapper
|
||||
, openssl
|
||||
, pixman
|
||||
, runtimeShell
|
||||
, SDL2
|
||||
, stdenv
|
||||
, unzip
|
||||
}:
|
||||
let
|
||||
inherit (lib.strings) makeLibraryPath;
|
||||
pharo-sources = fetchurl {
|
||||
# It is necessary to download from there instead of from the repository because that archive
|
||||
# also contains artifacts necessary for the bootstrapping.
|
||||
url = "https://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-10.0.5-2757766-Linux-x86_64-c-src.zip";
|
||||
hash = "sha256-i6WwhdVdyzmqGlx1Fn12mCq5+HnRORT65HEiJo0joCE=";
|
||||
};
|
||||
library_path = makeLibraryPath [
|
||||
libgit2
|
||||
SDL2
|
||||
cairo
|
||||
"$out"
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "pharo";
|
||||
version = "10.0.5";
|
||||
src = pharo-sources;
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
libgit2
|
||||
libpng
|
||||
pixman
|
||||
SDL2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
freetype
|
||||
gcc
|
||||
git
|
||||
gnumake
|
||||
libffi
|
||||
libuuid
|
||||
makeBinaryWrapper
|
||||
openssl
|
||||
pixman
|
||||
SDL2
|
||||
unzip
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
# Necessary to perform the bootstrapping without already having Pharo available.
|
||||
"-DGENERATED_SOURCE_DIR=."
|
||||
"-DGENERATE_SOURCES=OFF"
|
||||
# Prevents CMake from trying to download stuff.
|
||||
"-DBUILD_BUNDLE=OFF"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cmake --build . --target=install
|
||||
mkdir -p "$out/lib"
|
||||
mkdir "$out/bin"
|
||||
cp build/vm/*.so* "$out/lib/"
|
||||
cp build/vm/pharo "$out/bin/pharo"
|
||||
patchelf --allowed-rpath-prefixes /nix/store --shrink-rpath "$out/bin/pharo"
|
||||
wrapProgram "$out/bin/pharo" --set LD_LIBRARY_PATH "${library_path}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Clean and innovative Smalltalk-inspired environment";
|
||||
homepage = "https://pharo.org";
|
||||
license = licenses.mit;
|
||||
longDescription = ''
|
||||
Pharo's goal is to deliver a clean, innovative, free open-source
|
||||
Smalltalk-inspired environment. By providing a stable and small core
|
||||
system, excellent dev tools, and maintained releases, Pharo is an
|
||||
attractive platform to build and deploy mission critical applications.
|
||||
'';
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, bash, pharo, unzip, makeDesktopItem }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2017.02.28";
|
||||
pname = "pharo-launcher";
|
||||
src = fetchurl {
|
||||
url = "http://files.pharo.org/platform/launcher/PharoLauncher-user-stable-${version}.zip";
|
||||
sha256 = "1hfwjyx0c47s6ivc1zr2sf5mk1xw2zspsv0ns8mj3kcaglzqwiq0";
|
||||
};
|
||||
|
||||
executable-name = "pharo-launcher";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Pharo";
|
||||
exec = executable-name;
|
||||
icon = "pharo";
|
||||
comment = "Launcher for Pharo distributions";
|
||||
desktopName = "Pharo";
|
||||
genericName = "Pharo";
|
||||
categories = [ "Development" ];
|
||||
};
|
||||
|
||||
# because upstream tarball has no top-level directory.
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ bash pharo ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $prefix/share/pharo-launcher
|
||||
mkdir -p $prefix/bin
|
||||
|
||||
mv PharoLauncher.image $prefix/share/pharo-launcher/pharo-launcher.image
|
||||
mv PharoLauncher.changes $prefix/share/pharo-launcher/pharo-launcher.changes
|
||||
|
||||
mkdir -p $prefix/share/applications
|
||||
cp "${desktopItem}/share/applications/"* $out/share/applications
|
||||
|
||||
cat > $prefix/bin/${executable-name} <<EOF
|
||||
#!${bash}/bin/bash
|
||||
exec "${pharo}/bin/pharo" $prefix/share/pharo-launcher/pharo-launcher.image
|
||||
EOF
|
||||
chmod +x $prefix/bin/${executable-name}
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
# Launcher should be able to run for a few seconds without crashing.
|
||||
(set +e
|
||||
export HOME=. # Pharo will try to create files here
|
||||
secs=5
|
||||
echo -n "Running headless Pharo for $secs seconds to check for a crash... "
|
||||
timeout $secs \
|
||||
"${pharo}/bin/pharo" --nodisplay PharoLauncher.image --no-quit eval 'true'
|
||||
test "$?" == 124 && echo "ok")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Launcher for Pharo distributions";
|
||||
homepage = "https://pharo.org";
|
||||
longDescription = ''
|
||||
Pharo's goal is to deliver a clean, innovative, free open-source
|
||||
Smalltalk-inspired environment. By providing a stable and small
|
||||
core system, excellent dev tools, and maintained releases, Pharo
|
||||
is an attractive platform to build and deploy mission critical
|
||||
applications.
|
||||
|
||||
The Pharo Launcher is a cross-platform application that
|
||||
- lets you manage your Pharo images (launch, rename, copy and delete);
|
||||
- lets you download image templates (i.e., zip archives) from many
|
||||
different sources (e.g., Jenkins, files.pharo.org);
|
||||
- lets you create new images from any template.
|
||||
|
||||
The idea behind the Pharo Launcher is that you should be able to
|
||||
access it very rapidly from your OS application launcher. As a
|
||||
result, launching any image is never more than 3 clicks away.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = pharo.meta.platforms;
|
||||
};
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, cmake
|
||||
, bash
|
||||
, unzip
|
||||
, glibc
|
||||
, openssl
|
||||
, gcc
|
||||
, libGLU
|
||||
, libGL
|
||||
, freetype
|
||||
, xorg
|
||||
, alsa-lib
|
||||
, cairo
|
||||
, libuuid
|
||||
, libnsl
|
||||
, makeWrapper
|
||||
, ... }:
|
||||
|
||||
{ name, src, ... }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
inherit name src;
|
||||
|
||||
pharo-share = import ./share.nix { inherit lib stdenv fetchurl unzip; };
|
||||
|
||||
hardeningDisable = [ "format" "pic" ];
|
||||
|
||||
nativeBuildInputs = [ unzip cmake gcc makeWrapper ];
|
||||
|
||||
buildInputs = [ bash glibc openssl libGLU libGL freetype
|
||||
xorg.libX11 xorg.libICE xorg.libSM alsa-lib cairo pharo-share libnsl ];
|
||||
|
||||
LD_LIBRARY_PATH = lib.makeLibraryPath
|
||||
[ cairo libGLU libGL freetype openssl libuuid alsa-lib
|
||||
xorg.libICE xorg.libSM ];
|
||||
|
||||
preConfigure = ''
|
||||
cd build/
|
||||
'';
|
||||
|
||||
# -fcommon is a workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: CMakeFiles/pharo.dir/build/pharo-vm-2016.02.18/src/vm/gcc3x-cointerp.c.o:(.bss+0x88): multiple definition of
|
||||
# `sendTrace'; CMakeFiles/pharo.dir/build/pharo-vm-2016.02.18/src/vm/cogit.c.o:(.bss+0x84): first defined here
|
||||
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$prefix/lib/$name"
|
||||
|
||||
cd ../../results
|
||||
|
||||
mv vm-display-null vm-display-null.so
|
||||
mv vm-display-X11 vm-display-X11.so
|
||||
mv vm-sound-null vm-sound-null.so
|
||||
mv vm-sound-ALSA vm-sound-ALSA.so
|
||||
mv pharo pharo-vm
|
||||
|
||||
cp * "$prefix/lib/$name"
|
||||
|
||||
mkdir $prefix/bin
|
||||
|
||||
chmod u+w $prefix/bin
|
||||
cat > $prefix/bin/pharo-cog <<EOF
|
||||
#!${bash}/bin/bash
|
||||
# disable parameter expansion to forward all arguments unprocessed to the VM
|
||||
set -f
|
||||
exec $prefix/lib/$name/pharo-vm "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x $prefix/bin/pharo-cog
|
||||
|
||||
# Add cairo library to the library path.
|
||||
wrapProgram $prefix/bin/pharo-cog --prefix LD_LIBRARY_PATH : ${LD_LIBRARY_PATH}
|
||||
|
||||
ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Clean and innovative Smalltalk-inspired environment";
|
||||
homepage = "https://pharo.org";
|
||||
longDescription = ''
|
||||
Pharo's goal is to deliver a clean, innovative, free open-source
|
||||
Smalltalk-inspired environment. By providing a stable and small core
|
||||
system, excellent dev tools, and maintained releases, Pharo is an
|
||||
attractive platform to build and deploy mission critical applications.
|
||||
|
||||
This package provides the executable VM. You should probably not care
|
||||
about this package (which represents a packaging detail) and have a
|
||||
look at the pharo-vm-core package instead.
|
||||
|
||||
Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu
|
||||
packaging (ppa:pharo/stable)' project.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.lukego ];
|
||||
# Pharo VM sources are packaged separately for darwin (OS X)
|
||||
platforms = lib.filter
|
||||
(system: with lib.systems.elaborate { inherit system; };
|
||||
isUnix && !isDarwin)
|
||||
lib.platforms.mesaPlatforms;
|
||||
};
|
||||
}
|
|
@ -1,179 +0,0 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, bash
|
||||
, unzip
|
||||
, glibc
|
||||
, openssl
|
||||
, libgit2
|
||||
, libGLU, libGL
|
||||
, freetype
|
||||
, xorg
|
||||
, alsa-lib
|
||||
, cairo
|
||||
, libuuid
|
||||
, autoreconfHook
|
||||
, gcc48
|
||||
, runtimeShell
|
||||
, ... }:
|
||||
|
||||
{ name, src, version, source-date, source-url, ... }:
|
||||
|
||||
# Build the Pharo VM
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name src;
|
||||
|
||||
# Command line invocation name.
|
||||
# Distinct name for 64-bit builds because they only work with 64-bit images.
|
||||
cmd = if stdenv.is64bit then "pharo-spur64" else "pharo-spur";
|
||||
|
||||
# Choose desired VM sources. Separate for 32-bit and 64-bit VM.
|
||||
# (Could extent to building more VM variants e.g. SpurV3, Sista, etc.)
|
||||
vm = if stdenv.is64bit then "spur64src" else "spursrc";
|
||||
|
||||
# Choose target platform name in the format used by the vm.
|
||||
flavor =
|
||||
if stdenv.isLinux && stdenv.isi686 then "linux32x86"
|
||||
else if stdenv.isLinux && stdenv.isx86_64 then "linux64x64"
|
||||
else if stdenv.isDarwin && stdenv.isi686 then "macos32x86"
|
||||
else if stdenv.isDarwin && stdenv.isx86_64 then "macos64x64"
|
||||
else throw "Unsupported platform: only Linux/Darwin x86/x64 are supported.";
|
||||
|
||||
# Shared data (for the sources file)
|
||||
pharo-share = import ./share.nix { inherit lib stdenv fetchurl unzip; };
|
||||
|
||||
# Note: -fPIC causes the VM to segfault.
|
||||
hardeningDisable = [ "format" "pic"
|
||||
# while the VM depends on <= gcc48:
|
||||
"stackprotector" ];
|
||||
|
||||
# gcc 4.8 used for the build:
|
||||
#
|
||||
# gcc5 crashes during compilation; gcc >= 4.9 produces a
|
||||
# binary that crashes when forking a child process. See:
|
||||
# http://forum.world.st/OSProcess-fork-issue-with-Debian-built-VM-td4947326.html
|
||||
#
|
||||
# (stack protection is disabled above for gcc 4.8 compatibility.)
|
||||
nativeBuildInputs = [ autoreconfHook unzip ];
|
||||
buildInputs = [
|
||||
bash
|
||||
glibc
|
||||
openssl
|
||||
gcc48
|
||||
libGLU libGL
|
||||
freetype
|
||||
xorg.libX11
|
||||
xorg.libICE
|
||||
xorg.libSM
|
||||
alsa-lib
|
||||
cairo
|
||||
pharo-share
|
||||
libuuid
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Regenerate the configure script.
|
||||
# Unnecessary? But the build breaks without this.
|
||||
autoreconfPhase = ''
|
||||
pushd platforms/unix/config
|
||||
make
|
||||
popd
|
||||
'';
|
||||
|
||||
# Configure with options modeled on the 'mvm' build script from the vm.
|
||||
configureScript = "platforms/unix/config/configure";
|
||||
configureFlags = [ "--without-npsqueak"
|
||||
"--with-vmversion=5.0"
|
||||
"--with-src=${vm}" ];
|
||||
|
||||
# -fcommon is a workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: vm/vm.a(cogit.o):/build/source/spur64src/vm/cointerp.h:358: multiple definition of `checkAllocFiller';
|
||||
# vm/vm.a(gcc3x-cointerp.o):/build/source/spur64src/vm/cointerp.h:358: first defined here
|
||||
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
CFLAGS = "-DPharoVM -DIMMUTABILITY=1 -msse2 -D_GNU_SOURCE -DCOGMTVM=0 -g -O2 -DNDEBUG -DDEBUGVM=0";
|
||||
LDFLAGS = "-Wl,-z,now";
|
||||
|
||||
# VM sources require some patching before build.
|
||||
prePatch = ''
|
||||
patchShebangs build.${flavor}
|
||||
# Fix hard-coded path to /bin/rm in a script
|
||||
sed -i -e 's:/bin/rm:rm:' platforms/unix/config/mkmf
|
||||
# Fill in mandatory metadata about the VM source version
|
||||
sed -i -e 's!\$Date\$!$Date: ${source-date} $!' \
|
||||
-e 's!\$Rev\$!$Rev: ${version} $!' \
|
||||
-e 's!\$URL\$!$URL: ${source-url} $!' \
|
||||
platforms/Cross/vm/sqSCCSVersion.h
|
||||
'';
|
||||
|
||||
# Note: --with-vmcfg configure option is broken so copy plugin specs to ./
|
||||
preConfigure = ''
|
||||
cp build."${flavor}"/pharo.cog.spur/plugins.{ext,int} .
|
||||
'';
|
||||
|
||||
# (No special build phase.)
|
||||
|
||||
installPhase = let
|
||||
libs = [
|
||||
cairo
|
||||
libgit2
|
||||
libGLU libGL
|
||||
freetype
|
||||
openssl
|
||||
libuuid
|
||||
alsa-lib
|
||||
xorg.libICE
|
||||
xorg.libSM
|
||||
];
|
||||
in ''
|
||||
# Install in working directory and then copy
|
||||
make install-squeak install-plugins prefix=$(pwd)/products
|
||||
|
||||
# Copy binaries & rename from 'squeak' to 'pharo'
|
||||
mkdir -p "$out"
|
||||
cp products/lib/squeak/5.0-*/squeak "$out/pharo"
|
||||
cp -r products/lib/squeak/5.0-*/*.so "$out"
|
||||
ln -s "${pharo-share}/lib/"*.sources "$out"
|
||||
|
||||
# Create a shell script to run the VM in the proper environment.
|
||||
#
|
||||
# These wrapper puts all relevant libraries into the
|
||||
# LD_LIBRARY_PATH. This is important because various C code in the VM
|
||||
# and Smalltalk code in the image will search for them there.
|
||||
mkdir -p "$out/bin"
|
||||
|
||||
# Note: include ELF rpath in LD_LIBRARY_PATH for finding libc.
|
||||
libs=$out:$(patchelf --print-rpath "$out/pharo"):${lib.makeLibraryPath libs}
|
||||
|
||||
# Create the script
|
||||
cat > "$out/bin/${cmd}" <<EOF
|
||||
#!${runtimeShell}
|
||||
set -f
|
||||
LD_LIBRARY_PATH="\$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$libs" exec $out/pharo "\$@"
|
||||
EOF
|
||||
chmod +x "$out/bin/${cmd}"
|
||||
ln -s ${libgit2}/lib/libgit2.so* "$out/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Clean and innovative Smalltalk-inspired environment";
|
||||
homepage = "https://pharo.org";
|
||||
longDescription = ''
|
||||
Pharo's goal is to deliver a clean, innovative, free open-source
|
||||
Smalltalk-inspired environment. By providing a stable and small core
|
||||
system, excellent dev tools, and maintained releases, Pharo is an
|
||||
attractive platform to build and deploy mission critical applications.
|
||||
|
||||
This package provides the executable VM. You should probably not care
|
||||
about this package (which represents a packaging detail) and have a
|
||||
look at the pharo-vm-core package instead.
|
||||
|
||||
Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu
|
||||
packaging (ppa:pharo/stable)' project.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.lukego ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ stdenv, callPackage, pkgsi686Linux, ...}:
|
||||
|
||||
let
|
||||
i686 = pkgsi686Linux.callPackage ./vms.nix {};
|
||||
native = callPackage ./vms.nix {};
|
||||
in
|
||||
|
||||
rec {
|
||||
cog32 = i686.cog;
|
||||
spur32 = i686.spur;
|
||||
spur64 = if stdenv.is64bit then native.spur else "none";
|
||||
multi-vm-wrapper = callPackage ../wrapper { inherit cog32 spur32 spur64; };
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0";
|
||||
pname = "pharo-share";
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
sources10Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV10.sources.zip";
|
||||
sha256 = "0aijhr3w5w3jzmnpl61g6xkwyi2l1mxy0qbvr9k3whz8zlrsijh2";
|
||||
};
|
||||
|
||||
sources20Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV20.sources.zip";
|
||||
sha256 = "1xsc0p361pp8iha5zckppw29sbapd706wbvzvgjnkv2n6n1q5gj7";
|
||||
};
|
||||
|
||||
sources30Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV30.sources.zip";
|
||||
sha256 = "08d9a7gggwpwgrfbp7iv5896jgqz3vgjfrq19y3jw8k10pva98ak";
|
||||
};
|
||||
|
||||
sources40Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV40.sources.zip";
|
||||
sha256 = "1xq1721ql19hpgr8ir372h92q7g8zwd6k921b21dap4wf8djqnpd";
|
||||
};
|
||||
|
||||
sources50Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV50.sources.zip";
|
||||
sha256 = "1vmcah03zacvj1r2x27vdp63g6rcbz3prjd5sjy1z0a9xsjmqp25";
|
||||
};
|
||||
|
||||
sources60Zip = fetchurl {
|
||||
url = "http://files.pharo.org/sources/PharoV60.sources.zip";
|
||||
sha256 = "0xbdi679ryb2zg412xy6zkh22l20pmbl92m3qhfgzjvgybna8z2a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $prefix/lib
|
||||
|
||||
unzip ${sources10Zip} -d $prefix/lib/
|
||||
unzip ${sources20Zip} -d $prefix/lib/
|
||||
unzip ${sources30Zip} -d $prefix/lib/
|
||||
unzip ${sources40Zip} -d $prefix/lib/
|
||||
unzip ${sources50Zip} -d $prefix/lib/
|
||||
unzip ${sources60Zip} -d $prefix/lib/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Shared files for Pharo";
|
||||
homepage = "https://pharo.org";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
{ cmake
|
||||
, lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, bash
|
||||
, unzip
|
||||
, glibc
|
||||
, openssl
|
||||
, gcc
|
||||
, libgit2
|
||||
, libGLU, libGL
|
||||
, freetype
|
||||
, xorg
|
||||
, alsa-lib
|
||||
, cairo
|
||||
, libuuid
|
||||
, autoreconfHook
|
||||
, gcc48
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, runtimeShell
|
||||
, libnsl
|
||||
} @args:
|
||||
|
||||
let
|
||||
pharo-vm-build = import ./build-vm.nix args;
|
||||
pharo-vm-build-legacy = import ./build-vm-legacy.nix args;
|
||||
in
|
||||
|
||||
let suffix = if stdenv.is64bit then "64" else "32"; in
|
||||
|
||||
{
|
||||
# Build the latest VM
|
||||
spur = pharo-vm-build rec {
|
||||
name = "pharo-spur${suffix}";
|
||||
version = "git.${revision}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pharo-project";
|
||||
repo = "pharo-vm";
|
||||
rev = revision;
|
||||
sha256 = "0dkiy5fq1xn2n93cwf767xz24c01ic0wfw94jk9nvn7pmcfj7m62";
|
||||
};
|
||||
# This metadata will be compiled into the VM and introspectable
|
||||
# from Smalltalk. This has been manually extracted from 'git log'.
|
||||
#
|
||||
# The build would usually generate this automatically using
|
||||
# opensmalltalk-vm/.git_filters/RevDateURL.smudge but that script
|
||||
# is too impure to run from nix.
|
||||
revision = "6a63f68a3dd4deb7c17dd2c7ac6e4dd4b0b6d937";
|
||||
source-date = "Tue May 30 19:41:27 2017 -0700";
|
||||
source-url = "https://github.com/pharo-project/pharo-vm";
|
||||
};
|
||||
|
||||
# Build an old ("legacy") CogV3 VM for running pre-spur images.
|
||||
# (Could be nicer to build the latest VM in CogV3 mode but this is
|
||||
# not supported on the Pharo VM variant at the moment.)
|
||||
cog = pharo-vm-build-legacy rec {
|
||||
version = "2016.02.18";
|
||||
name = "pharo-cog${suffix}";
|
||||
base-url = "http://files.pharo.org/vm/src/vm-unix-sources/blessed";
|
||||
src = fetchurl {
|
||||
url = "${base-url}/pharo-vm-${version}.tar.bz2";
|
||||
sha256 = "16n2zg7v2s1ml0vvpbhkw6khmgn637sr0d7n2b28qm5yc8pfhcj4";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
{ lib, stdenv, file, makeDesktopItem, cog32, spur32, spur64 ? "none" }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pharo";
|
||||
src = ./pharo-vm.sh;
|
||||
inherit cog32 spur32 spur64 file;
|
||||
magic = ./magic;
|
||||
desktopItem = makeDesktopItem {
|
||||
inherit name;
|
||||
desktopName = "Pharo VM";
|
||||
genericName = "Pharo Virtual Machine";
|
||||
exec = "pharo %F";
|
||||
icon = "pharo";
|
||||
startupNotify = false;
|
||||
categories = [ "Development" ];
|
||||
mimeTypes = [ "application/x-pharo-image" ];
|
||||
};
|
||||
unpackPhase = ''
|
||||
cp $src ./pharo-vm.sh
|
||||
sourceRoot=$PWD
|
||||
'';
|
||||
buildPhase = ''
|
||||
substituteAllInPlace ./pharo-vm.sh
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp pharo-vm.sh $out/bin/pharo
|
||||
chmod +x $out/bin/pharo
|
||||
'';
|
||||
meta = {
|
||||
description = "Pharo virtual machine (multiple variants)";
|
||||
|
||||
longDescription = ''
|
||||
Pharo's goal is to deliver a clean, innovative, free open-source
|
||||
Smalltalk-inspired environment. By providing a stable and small core
|
||||
system, excellent dev tools, and maintained releases, Pharo is an
|
||||
attractive platform to build and deploy mission critical applications.
|
||||
|
||||
This package provides a front-end for starting the virtual
|
||||
machine. The command 'pharo-vm' automatically detects the type
|
||||
of image and executes a suitable virtual machine: CogV3, Spur,
|
||||
or Spur64. This makes it easy to open Pharo images because you
|
||||
do not have to worry about which virtual machine variant is
|
||||
required.
|
||||
|
||||
More about the Cog family of virtual machines:
|
||||
http://www.mirandabanda.org/cogblog/about-cog/
|
||||
'';
|
||||
|
||||
homepage = "http://pharo.org";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.lukego ];
|
||||
# Pharo VM sources are packaged separately for darwin (OS X)
|
||||
platforms = lib.filter
|
||||
(system: with lib.systems.elaborate { inherit system; };
|
||||
isUnix && !isDarwin)
|
||||
lib.platforms.mesaPlatforms;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
# Smalltalk image file formats
|
||||
0 lelong 6502 Smalltalk image V3 32b (%d)
|
||||
!:mime application/squeak-image
|
||||
0 belong 6502 Smalltalk image V3 32b (%d)
|
||||
!:mime application/squeak-image
|
||||
0 lelong 6504 Smalltalk image V3 32b +C (%d)
|
||||
!:mime application/cog-image
|
||||
0 belong 6504 Smalltalk image V3 32b +C (%d)
|
||||
!:mime application/cog-image
|
||||
0 lelong 68000 Smalltalk image V3 64b (%d)
|
||||
!:mime application/squeak64-image
|
||||
4 belong 68000 Smalltalk image V3 64b (%d)
|
||||
!:mime application/squeak64-image
|
||||
0 lelong 68002 Smalltalk image V3 64b +C (%d)
|
||||
!:mime application/cog64-image
|
||||
4 belong 68002 Smalltalk image V3 64b +C (%d)
|
||||
!:mime application/cog64-image
|
||||
0 lelong 6505 Smalltalk image V3 32b +C+NF (%d)
|
||||
!:mime application/cog-image
|
||||
0 belong 6505 Smalltalk image V3 32b +C+NF (%d)
|
||||
!:mime application/cog-image
|
||||
0 lelong 68003 Smalltalk image V3 64b +C+NF (%d)
|
||||
!:mime application/cog64-image
|
||||
4 belong 68003 Smalltalk image V3 64b +C+NF (%d)
|
||||
!:mime application/cog64-image
|
||||
0 lelong 6521 Smalltalk image Spur 32b +C+NF (%d)
|
||||
!:mime application/spur-image
|
||||
0 belong 6521 Smalltalk image Spur 32b +C+NF (%d)
|
||||
!:mime application/spur-image
|
||||
0 lelong 68019 Smalltalk image Spur 64b +C+NF (%d)
|
||||
!:mime application/spur64-image
|
||||
4 belong 68019 Smalltalk image Spur 64b +C+NF (%d)
|
||||
!:mime application/spur64-image
|
||||
0 lelong 68021 Smalltalk image Spur 64b +C+NF+Tag (%d)
|
||||
!:mime application/spur64-image
|
||||
4 belong 68021 Smalltalk image Spur 64b +C+NF+Tag (%d)
|
||||
!:mime application/spur64-image
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/sh
|
||||
# This is based on the script by David T. Lewis posted here:
|
||||
# http://lists.squeakfoundation.org/pipermail/vm-dev/2017-April/024836.html
|
||||
#
|
||||
# VM run utility script
|
||||
# usage: run <myimage>
|
||||
#
|
||||
# Select a VM and run an image based on the image format number
|
||||
|
||||
PATH=$PATH:@file@/bin
|
||||
|
||||
# Search for the image filename in the command line arguments
|
||||
for arg in $* $SQUEAK_IMAGE; do
|
||||
case ${arg} in
|
||||
-*) # ignore
|
||||
;;
|
||||
*) # either an option argument or the image name
|
||||
if test -e ${arg}; then
|
||||
magic=$(file -L -b -m @magic@ "$arg")
|
||||
case "$magic" in
|
||||
"Smalltalk image V3 32b"*)
|
||||
image=${arg}
|
||||
vm=@cog32@/bin/pharo-cog
|
||||
;;
|
||||
"Smalltalk image Spur 32b"*)
|
||||
image=${arg}
|
||||
vm=@spur32@/bin/pharo-spur
|
||||
;;
|
||||
"Smalltalk image Spur 64b"*)
|
||||
if [ "@spur64vm@" == "none" ]; then
|
||||
echo "error: detected 64-bit image but 64-bit VM is not available" >&2
|
||||
exit 1
|
||||
fi
|
||||
image=${arg}
|
||||
vm=@spur64@/bin/pharo-spur64
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Print a message to explain our DWIM'ery.
|
||||
if [ -n "$image" ]; then
|
||||
echo "using VM selected by image type."
|
||||
echo " image: $image"
|
||||
echo " type: $magic"
|
||||
echo " vm: $vm"
|
||||
else
|
||||
echo "using default vm; image type not detected"
|
||||
vm=@cog32@/bin/pharo-cog
|
||||
fi
|
||||
|
||||
# Run the VM
|
||||
set -f
|
||||
exec -- "${vm}" "$@"
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
, ninja
|
||||
, setuptools
|
||||
, toml
|
||||
, wheel
|
||||
}:
|
||||
|
||||
# TODO: offer meson as a Python package so we have dist-info folder.
|
||||
|
@ -19,19 +20,21 @@ buildPythonPackage rec {
|
|||
hash = "sha256-Fyo7JfLqHJqbahEjVDt/0xJxOfVLqLn3xNJ4lSB7KIw=";
|
||||
};
|
||||
|
||||
# Applies the following merge request, which doesn't apply cleanly:
|
||||
# https://gitlab.com/thiblahute/mesonpep517/-/merge_requests/25
|
||||
#
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'backend-path = "."' 'backend-path = ["."]'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ toml ];
|
||||
|
||||
# postPatch = ''
|
||||
# # Meson tries to detect ninja as well, so we should patch meson as well.
|
||||
# substituteInPlace mesonpep517/buildapi.py \
|
||||
# --replace "'meson'" "'${meson}/bin/meson'" \
|
||||
# --replace "'ninja'" "'${ninja}/bin/ninja'"
|
||||
# '';
|
||||
|
||||
propagatedNativeBuildInputs = [ meson ninja ];
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -3,34 +3,35 @@
|
|||
, buildPythonPackage
|
||||
, logutils
|
||||
, mako
|
||||
, webob
|
||||
, webtest
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
, genshi
|
||||
, gunicorn
|
||||
, jinja2
|
||||
, six
|
||||
, sqlalchemy
|
||||
, virtualenv
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pecan";
|
||||
version = "1.4.2";
|
||||
version = "1.5.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-SbJV5wHD8UYWBfWw6PVPDCGSLXhF1BTCTdZAn+aV1VA=";
|
||||
hash = "sha256-YGMnLV+GB3P7tLSyrhsJ2oyVQGLvhxFQwGz9sjkdk1U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
logutils
|
||||
mako
|
||||
webtest
|
||||
six
|
||||
webob
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
@ -40,20 +41,11 @@ buildPythonPackage rec {
|
|||
jinja2
|
||||
sqlalchemy
|
||||
virtualenv
|
||||
webtest
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"--pyargs pecan"
|
||||
# tests fail with sqlalchemy 2.0
|
||||
] ++ lib.optionals (lib.versionAtLeast sqlalchemy.version "2.0") [
|
||||
# The 'sqlalchemy.orm.mapper()' function is removed as of SQLAlchemy
|
||||
# 2.0. Use the 'sqlalchemy.orm.registry.map_imperatively()` method
|
||||
# of the ``sqlalchemy.orm.registry`` class to perform classical
|
||||
# mapping.
|
||||
# https://github.com/pecan/pecan/issues/143
|
||||
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy"
|
||||
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy"
|
||||
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "rst2pdf";
|
||||
version = "0.100";
|
||||
version = "0.101";
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Zkw8FubT3qJ06ECkNurE26bLUKtq8xYvydVxa+PLe0I=";
|
||||
sha256 = "sha256-AF8FssEIFHmeY2oVrAPNe85pbmgKWO52yD6ycNNzTSg=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
@ -66,6 +66,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Convert reStructured Text to PDF via ReportLab";
|
||||
homepage = "https://rst2pdf.org/";
|
||||
changelog = "https://github.com/rst2pdf/rst2pdf/blob/${version}/CHANGES.rst";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ marsam ];
|
||||
};
|
||||
|
|
|
@ -5,30 +5,20 @@
|
|||
, six
|
||||
, mock
|
||||
, isPyPy
|
||||
, pythonOlder
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sure";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = isPyPy;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "34ae88c846046742ef074036bf311dc90ab152b7bc09c342b281cebf676727a2";
|
||||
sha256 = "sha256-yPxvq8Dn9phO6ruUJUDkVkblvvC7mf5Z4C2mNOTUuco=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/gabrielfalcao/sure/issues/169
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/055baa81cd987e566de62a5657513937521a90d4/trunk/python310.diff";
|
||||
hash = "sha256-BKylV8xpTOuO/X4hzZKpoIcAQcdAK0kXYENRad7AGPc=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
mock
|
||||
|
@ -38,8 +28,6 @@ buildPythonPackage rec {
|
|||
rednose
|
||||
];
|
||||
|
||||
doCheck = pythonOlder "3.11";
|
||||
|
||||
pythonImportsCheck = [
|
||||
"sure"
|
||||
];
|
||||
|
@ -47,7 +35,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Utility belt for automated testing";
|
||||
homepage = "https://sure.readthedocs.io/";
|
||||
changelog = "https://github.com/gabrielfalcao/sure/blob/${version}/CHANGELOG.md";
|
||||
changelog = "https://github.com/gabrielfalcao/sure/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "universal-pathlib";
|
||||
version = "0.0.24";
|
||||
version = "0.1.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "universal_pathlib";
|
||||
inherit version;
|
||||
hash = "sha256-/L/7leS8afcEr13eT5piSyJp8lGjjIGri+wZ3+qtgw8=";
|
||||
hash = "sha256-LqzljIZUZh8zHvcyBqFHBbunpJVYFpk6mfuesVGyojg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
49
pkgs/development/tools/doc2go/default.nix
Normal file
49
pkgs/development/tools/doc2go/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "doc2go";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abhinav";
|
||||
repo = "doc2go";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iypcjj6FFsus9mrafLBX0u7bHnzs718aEWC5dO3q0es=";
|
||||
};
|
||||
vendorHash = "sha256-IMqYCVGsspYigTmYNHD1b6Sgzxl47cdiCs+rq4C3Y08=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main._version=${version}" ];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
checkFlags = [
|
||||
# needs to fetch additional go modules
|
||||
"-skip=TestFinder_ImportedPackage/Modules"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# run all tests
|
||||
unset subPackages
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/abhinav/doc2go";
|
||||
changelog = "https://github.com/abhinav/doc2go/blob/${src.rev}/CHANGELOG.md";
|
||||
description = "Your Go project's documentation, to-go";
|
||||
longDescription = ''
|
||||
doc2go is a command line tool that generates static HTML documentation
|
||||
from your Go code. It is a self-hosted static alternative to
|
||||
https://pkg.go.dev/ and https://godocs.io/.
|
||||
'';
|
||||
license = with licenses; [
|
||||
# general project license
|
||||
asl20
|
||||
# internal/godoc/synopsis*.go adapted from golang source
|
||||
bsd3
|
||||
];
|
||||
maintainers = with maintainers; [ jk ];
|
||||
};
|
||||
}
|
45
pkgs/development/tools/goimports-reviser/default.nix
Normal file
45
pkgs/development/tools/goimports-reviser/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "goimports-reviser";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "incu6us";
|
||||
repo = "goimports-reviser";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JIXBC7fk/Bd3tTHiK+qtB+5CdAATaB/j1nvKOJrz4n4=";
|
||||
};
|
||||
vendorHash = "sha256-lyV4HlpzzxYC6OZPGVdNVL2mvTFE9yHO37zZdB/ePBg=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=main.Tag=${src.rev}"
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
"-skip=TestSourceFile_Fix_WithAliasForVersionSuffix/success_with_set_alias"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# unset to run all tests
|
||||
unset subPackages
|
||||
# unset as some tests require cgo
|
||||
unset CGO_ENABLED
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Right imports sorting & code formatting tool (goimports alternative)";
|
||||
homepage = "https://github.com/incu6us/goimports-reviser";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jk ];
|
||||
};
|
||||
}
|
|
@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
|
|||
changelog = "https://github.com/oxalica/nil/releases/tag/${version}";
|
||||
license = with licenses; [ mit asl20 ];
|
||||
maintainers = with maintainers; [ figsoda oxalica ];
|
||||
mainProgram = "nil";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ tjni ];
|
||||
platforms = platforms.all;
|
||||
mainProgram = "pyenv";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "probe-run";
|
||||
version = "0.3.9";
|
||||
version = "0.3.10";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-VNFLX+aPkanX573YpRok2JUWf74O7gtlgmuHkI30y2g=";
|
||||
hash = "sha256-PIUL7aUIHyHuetkMbJsZ3x1coyzKGwI/AJE/R6uFBM4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-cjr7lNwzqcIfjXn1CVHKgeRZlsJ0QG+0x9h6q5e3D0o=";
|
||||
cargoHash = "sha256-7q5M3huI7Qje5E3Rl2i/9I4g90R8vhJD9Hk78biewBE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -7,21 +7,21 @@
|
|||
|
||||
let
|
||||
pname = "osu-lazer-bin";
|
||||
version = "2023.717.0";
|
||||
version = "2023.803.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
osu-lazer-bin-src = {
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
|
||||
sha256 = "sha256-C2ZqCs3dBtNPiqYnMdYieyLIBbBedc7jhAtV3XccXUI=";
|
||||
sha256 = "sha256-41UvP3h7Nnmjnjr1nl35uCe6CUK54p1Ok1KhQ8F5/4M=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
|
||||
sha256 = "sha256-LoumCJV2U7V0L1a0IapCKFcgmqawdp1NdFdtenmgNa0=";
|
||||
sha256 = "sha256-qxAgXL4igfttsPN3xr4JPBGy9FalR1JIS7OtB4iqNB8=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
|
||||
sha256 = "sha256-ozywsabQawTcflIPC86b/YV4apX1OnokziSrlLlyaIM=";
|
||||
sha256 = "sha256-fO9j7hIEhxEDWVdNAPVriHuDQyF2XgReeROBNpXM8gU=";
|
||||
};
|
||||
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "osu-lazer";
|
||||
version = "2023.717.0";
|
||||
version = "2023.803.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ppy";
|
||||
repo = "osu";
|
||||
rev = version;
|
||||
sha256 = "sha256-Yqv2CaJwjagUb+P87TQhpexdQaFc6nzKh6P+CJocx4Y=";
|
||||
sha256 = "sha256-q2rw44veVWpKcW/wCkBHNxaIwOXuflejIvqhGQgoh8o=";
|
||||
};
|
||||
|
||||
projectFile = "osu.Desktop/osu.Desktop.csproj";
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "homepage-dashboard";
|
||||
version = "0.6.23";
|
||||
version = "0.6.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "benphelps";
|
||||
repo = "homepage";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Nr090221lTW7luuzh/URdDPByILnjMChyZcV2+AUG3o=";
|
||||
hash = "sha256-VD6JxhEUpvPXYfXQIx9sbojPNds+s2aVF3DW4Fru/DQ=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-l6kVmKXAQMqpzu/GTrz92WeDorLhunfcUrbMVfUwR9U=";
|
||||
npmDepsHash = "sha256-3sjMWQ40FqdTfx1QkMoIwpIGWRQKPOqOKfPVDWzjz3w=";
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p config
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "docker-credential-helpers";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KtDWrtd88s4Al3iWxIYE+YlhZTzf8/YDVYE2AwxH8ho=";
|
||||
sha256 = "sha256-3zWlYW+2LA/JK/lv/OTzMlF2HlQPID0WYks0dQrP3GY=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorHash = null;
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
||||
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "trivy";
|
||||
version = "0.43.1";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquasecurity";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fpCPYqAuppEffoSVf2c3xMB1MhTBhn6xhbxPZ03PdI0=";
|
||||
sha256 = "sha256-qxtYYFhABrkJlwWBx4ak7xnaqg7x+D1fUF1gcJFK0e4=";
|
||||
};
|
||||
# hash missmatch on across linux and darwin
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-9aHekHHnh9WOqelzNbwflg1/2VFl129WIXPWhdPnar4=";
|
||||
vendorHash = "sha256-mE+GpD9vMhjVQsH+mckU6GhNiLMDV5H31Jj1/HLBSEs=";
|
||||
|
||||
excludedPackages = [ "magefiles" "misc" ];
|
||||
subPackages = [ "cmd/trivy" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3
|
||||
, obex_data_server, xdg-utils, dnsmasq, dhcp, iproute2
|
||||
, obex_data_server, xdg-utils, dnsmasq, dhcpcd, iproute2
|
||||
, gnome, librsvg, wrapGAppsHook, gobject-introspection
|
||||
, networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
|
||||
|
||||
|
@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--prefix PATH ':' ${lib.makeBinPath [ dnsmasq dhcp iproute2 ]}"
|
||||
"--prefix PATH ':' ${lib.makeBinPath [ dnsmasq dhcpcd iproute2 ]}"
|
||||
"--suffix PATH ':' ${lib.makeBinPath [ xdg-utils ]}"
|
||||
];
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
appimageTools.wrapType2 rec {
|
||||
name = "steam-rom-manager";
|
||||
version = "2.3.40";
|
||||
version = "2.4.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/SteamGridDB/steam-rom-manager/releases/download/v${version}/Steam-ROM-Manager-${version}.AppImage";
|
||||
sha256 = "sha256-qm7F1/+3iVtsxSAptbhiI5sEHR0B9vo7AdEPy1/PANU=";
|
||||
sha256 = "sha256-NRqryY9v6s51/eoCdqqID6m5Osx5PPChKGxjmLhh7ac=";
|
||||
};
|
||||
|
||||
extraInstallCommands = let
|
||||
|
|
|
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sharkdp";
|
||||
repo = pname;
|
||||
repo = "bat";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cGHxB3Wp8yEcJBMtSOec6l7iBsMLhUtJ7nh5fijnWZs=";
|
||||
};
|
||||
|
@ -58,6 +58,7 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://github.com/sharkdp/bat";
|
||||
changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
mainProgram = "bat";
|
||||
maintainers = with maintainers; [ dywedir lilyball zowoq SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -64,5 +64,6 @@ rustPlatform.buildRustPackage rec {
|
|||
changelog = "https://github.com/jdxcode/rtx/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ konradmalik ];
|
||||
mainProgram = "rtx";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
, bettercap
|
||||
, bully
|
||||
, crunch
|
||||
, dhcp
|
||||
, dnsmasq
|
||||
, ettercap
|
||||
, hashcat
|
||||
|
@ -94,7 +93,6 @@ let
|
|||
wireshark-cli
|
||||
] ++ lib.optionals supportEvilTwin [
|
||||
bettercap
|
||||
dhcp
|
||||
dnsmasq
|
||||
ettercap
|
||||
hostapd
|
||||
|
|
|
@ -1,102 +0,0 @@
|
|||
{ stdenv, fetchurl, perl, file, nettools, iputils, iproute2, makeWrapper
|
||||
, coreutils, gnused, openldap ? null
|
||||
, buildPackages, lib
|
||||
|
||||
# client and relay are end of life, remove after 4.4.3
|
||||
, withClient ? false
|
||||
, withRelay ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dhcp";
|
||||
version = "4.4.3-P1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.isc.org/isc/dhcp/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-CsQWu1WZfKhjIXT9EHN/1hzbjbonUhYKM1d1vCHcc8c=";
|
||||
};
|
||||
|
||||
patches =
|
||||
[
|
||||
# Make sure that the hostname gets set on reboot. Without this
|
||||
# patch, the hostname doesn't get set properly if the old
|
||||
# hostname (i.e. before reboot) is equal to the new hostname.
|
||||
./set-hostname.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ perl makeWrapper ];
|
||||
|
||||
buildInputs = [ openldap ];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-failover"
|
||||
"--enable-execute"
|
||||
"--enable-tracing"
|
||||
"--enable-delayed-ack"
|
||||
"--enable-dhcpv6"
|
||||
"--enable-paranoia"
|
||||
"--enable-early-chroot"
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
] ++ lib.optional stdenv.isLinux "--with-randomdev=/dev/random"
|
||||
++ lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ]
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = builtins.toString [
|
||||
"-Wno-error=pointer-compare"
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=stringop-truncation"
|
||||
"-Wno-error=format-overflow"
|
||||
"-Wno-error=stringop-overflow=8"
|
||||
];
|
||||
|
||||
installFlags = [ "DESTDIR=\${out}" ];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mv $out/$out/* $out
|
||||
DIR=$out/$out
|
||||
while rmdir $DIR 2>/dev/null; do
|
||||
DIR="$(dirname "$DIR")"
|
||||
done
|
||||
|
||||
cp client/scripts/linux $out/sbin/dhclient-script
|
||||
substituteInPlace $out/sbin/dhclient-script \
|
||||
--replace /sbin/ip ${iproute2}/sbin/ip
|
||||
wrapProgram "$out/sbin/dhclient-script" --prefix PATH : \
|
||||
"${nettools}/bin:${nettools}/sbin:${iputils}/bin:${coreutils}/bin:${gnused}/bin"
|
||||
'' + lib.optionalString (!withClient) ''
|
||||
rm $out/sbin/{dhclient,dhclient-script,.dhclient-script-wrapped}
|
||||
'' + lib.optionalString (!withRelay) ''
|
||||
rm $out/sbin/dhcrelay
|
||||
'';
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
|
||||
sed -i "includes/dhcpd.h" \
|
||||
-e "s|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
|
||||
|
||||
export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar'
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dynamic Host Configuration Protocol (DHCP) tools";
|
||||
|
||||
longDescription = ''
|
||||
ISC's Dynamic Host Configuration Protocol (DHCP) distribution
|
||||
provides a freely redistributable reference implementation of
|
||||
all aspects of DHCP, through a suite of DHCP tools: server,
|
||||
client, and relay agent.
|
||||
'';
|
||||
|
||||
homepage = "https://www.isc.org/dhcp/";
|
||||
license = licenses.mpl20;
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = lib.optional (withClient || withRelay) "The client and relay component of the dhcp package have reached their end of life";
|
||||
};
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
--- a/client/scripts/linux 2010-09-15 00:49:48.000000000 +0200
|
||||
+++ b/client/scripts/linux 2011-04-01 16:08:10.984372269 +0200
|
||||
@@ -133,9 +133,7 @@
|
||||
[ "$current_hostname" = '(none)' ] ||
|
||||
[ "$current_hostname" = 'localhost' ] ||
|
||||
[ "$current_hostname" = "$old_host_name" ]; then
|
||||
- if [ "$new_host_name" != "$old_host_name" ]; then
|
||||
- hostname "$new_host_name"
|
||||
- fi
|
||||
+ hostname "$new_host_name"
|
||||
fi
|
||||
fi
|
|
@ -25,5 +25,6 @@ buildGoModule rec {
|
|||
homepage = "https://gitlab.com/shackra/goimapnotify";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ wohanley ];
|
||||
mainProgram = "goimapnotify";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
|
|||
changelog = "https://github.com/kamadorueda/alejandra/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.unlicense;
|
||||
maintainers = with maintainers; [ _0x4A6F kamadorueda sciencentistguy ];
|
||||
mainProgram = "alejandra";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://nix-community.github.io/nixpkgs-fmt";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ zimbatm ];
|
||||
mainProgram = "nixpkgs-fmt";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
}:
|
||||
buildGoModule rec {
|
||||
pname = "osv-scanner";
|
||||
version = "1.3.5";
|
||||
version = "1.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QKswDnqPJzucfOrRzKkBMvyuGsjamY9yhyBqcyhZNvI=";
|
||||
hash = "sha256-mvR4LqUPtmLBH9RSfVge4anwun1wHJMCuGyHGQvA56s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xHgatAblsnPikAYnfoWTGzpeAHs3ON06bDuxELH/AKI=";
|
||||
vendorHash = "sha256-oxAvpiNrdst7Y8EbSTrTEebX6+G/8K5UFwdKG+wiDQE=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/osv-scanner"
|
||||
|
|
|
@ -13,8 +13,13 @@ python3.pkgs.buildPythonApplication rec {
|
|||
hash = "sha256-LogI9sJHvLN5WHJGdW47D09XZInKln/I2hNmG62d1JU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i '/name = "zeekscript"/a version = "${version}"' pyproject.toml
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib, coreutils, makeWrapper
|
||||
, google-guest-configs, google-guest-oslogin, iproute2, dhcp, procps
|
||||
, google-guest-configs, google-guest-oslogin, iproute2, procps
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
|
@ -27,7 +27,7 @@ buildGoModule rec {
|
|||
'';
|
||||
|
||||
# We don't add `shadow` here; it's added to PATH if `mutableUsers` is enabled.
|
||||
binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 dhcp procps ];
|
||||
binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 procps ];
|
||||
|
||||
# Skip tests which require networking.
|
||||
preCheck = ''
|
||||
|
|
|
@ -399,6 +399,7 @@ mapAliases ({
|
|||
devserver = throw "'devserver' has been removed in favor of 'miniserve' or other alternatives"; # Added 2023-01-13
|
||||
dfu-util-axoloti = throw "dfu-util-axoloti has been removed: abandoned by upstream"; # Added 2022-05-13
|
||||
dhall-text = throw "'dhall-text' has been deprecated in favor of the 'dhall text' command from 'dhall'"; # Added 2022-03-26
|
||||
dhcp = throw "dhcp (ISC DHCP) has been removed from nixpkgs, because it reached its end of life"; # Added 2023-04-04
|
||||
digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
|
||||
dirmngr = throw "dirmngr has been removed: merged into gnupg"; # Added 2022-05-13
|
||||
disper = throw "disper has been removed: abandoned by upstream"; # Added 2022-03-18
|
||||
|
@ -1277,6 +1278,10 @@ mapAliases ({
|
|||
pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
|
||||
phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
|
||||
phantomjs2 = throw "phantomjs2 has been dropped due to lack of maintenance"; # Added 2022-04-22
|
||||
pharo-spur64 = pharo; # Added 2022-08-03
|
||||
pharo-spur32 = throw "pharo on 32bits is currently not supported due to lack of maintenance"; # Added 2022-08-03
|
||||
pharo-cog32 = throw "the cog32 VM has been outdated for about a decade now, time to move on"; # Added 2022-08-03
|
||||
pharo-launcher = throw "pharo launcher has been dropped due to lack of maintenance"; # Added 2022-08-03
|
||||
philter = throw "philter has been removed: abandoned by upstream"; # Added 2022-04-26
|
||||
phodav_2_0 = throw "'phodav_2_0' has been renamed to/replaced by 'phodav'"; # Added 2023-02-21
|
||||
photoflow = throw "photoflow was removed because it was broken and unmaintained by upstream"; # Added 2023-03-10
|
||||
|
|
|
@ -841,6 +841,8 @@ with pkgs;
|
|||
|
||||
docker-slim = callPackage ../applications/virtualization/docker-slim { };
|
||||
|
||||
doc2go = callPackage ../development/tools/doc2go { };
|
||||
|
||||
docker-sync = callPackage ../tools/misc/docker-sync { };
|
||||
|
||||
undocker = callPackage ../tools/misc/undocker { };
|
||||
|
@ -5516,6 +5518,8 @@ with pkgs;
|
|||
hypr = callPackage ../applications/window-managers/hyprwm/hypr {
|
||||
cairo = cairo.override { xcbSupport = true; }; };
|
||||
|
||||
hyprdim = callPackage ../applications/misc/hyprdim { };
|
||||
|
||||
hyprland = callPackage ../applications/window-managers/hyprwm/hyprland {
|
||||
wlroots = pkgs.callPackage ../applications/window-managers/hyprwm/hyprland/wlroots.nix { };
|
||||
udis86 = pkgs.callPackage ../applications/window-managers/hyprwm/hyprland/udis86.nix { };
|
||||
|
@ -7232,8 +7236,6 @@ with pkgs;
|
|||
|
||||
dnsx = callPackage ../tools/security/dnsx { };
|
||||
|
||||
dhcp = callPackage ../tools/networking/dhcp { };
|
||||
|
||||
dhcpdump = callPackage ../tools/networking/dhcpdump { };
|
||||
|
||||
dhcpcd = callPackage ../tools/networking/dhcpcd { };
|
||||
|
@ -18086,12 +18088,7 @@ with pkgs;
|
|||
|
||||
rappel = callPackage ../development/misc/rappel { };
|
||||
|
||||
pharo-vms = callPackage ../development/pharo/vm { };
|
||||
pharo = pharo-vms.multi-vm-wrapper;
|
||||
pharo-cog32 = pharo-vms.cog32;
|
||||
pharo-spur32 = pharo-vms.spur32;
|
||||
pharo-spur64 = assert stdenv.is64bit; pharo-vms.spur64;
|
||||
pharo-launcher = callPackage ../development/pharo/launcher { };
|
||||
pharo = callPackage ../development/pharo { };
|
||||
|
||||
protege-distribution = callPackage ../development/web/protege-distribution { };
|
||||
|
||||
|
@ -28112,6 +28109,8 @@ with pkgs;
|
|||
|
||||
godef = callPackage ../development/tools/godef { };
|
||||
|
||||
goimports-reviser = callPackage ../development/tools/goimports-reviser { };
|
||||
|
||||
gopkgs = callPackage ../development/tools/gopkgs { };
|
||||
|
||||
gosec = callPackage ../development/tools/gosec { };
|
||||
|
|
|
@ -223,7 +223,6 @@ in {
|
|||
) {});
|
||||
};
|
||||
|
||||
inherit (callPackage ../development/java-modules/jogl { })
|
||||
jogl_2_3_2
|
||||
inherit (pkgs.darwin.apple_sdk_11_0.callPackage ../development/java-modules/jogl { })
|
||||
jogl_2_4_0;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
|
|||
cron = linux;
|
||||
cups = linux;
|
||||
dbus = linux;
|
||||
dhcp = linux;
|
||||
diffutils = all;
|
||||
e2fsprogs = linux;
|
||||
emacs = linux;
|
||||
|
|
Loading…
Reference in a new issue