Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-09-27 00:12:00 +00:00 committed by GitHub
commit 9290456dd6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
203 changed files with 6713 additions and 10452 deletions

View file

@ -759,6 +759,12 @@
github = "Alexnortung"; github = "Alexnortung";
githubId = 1552267; githubId = 1552267;
}; };
alexoundos = {
email = "alexoundos@gmail.com";
github = "AleXoundOS";
githubId = 464913;
name = "Alexander Tomokhov";
};
alexshpilkin = { alexshpilkin = {
email = "ashpilkin@gmail.com"; email = "ashpilkin@gmail.com";
github = "alexshpilkin"; github = "alexshpilkin";
@ -11409,6 +11415,12 @@
githubId = 43088426; githubId = 43088426;
name = "Mihnea Stoian"; name = "Mihnea Stoian";
}; };
mikaelfangel = {
email = "nixpkgs.bottle597@passfwd.com";
github = "MikaelFangel";
githubId = 34864484;
name = "Mikael Fangel";
};
mikefaille = { mikefaille = {
email = "michael@faille.io"; email = "michael@faille.io";
github = "mikefaille"; github = "mikefaille";

View file

@ -41,6 +41,8 @@
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable). - [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
- [Castopod](https://castopod.org/), an open-source hosting platform made for podcasters who want to engage and interact with their audience. Available as [services.castopod](#opt-services.castopod.enable).
- [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable). - [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
* [NS-USBLoader](https://github.com/developersu/ns-usbloader/), an all-in-one tool for managing Nintendo Switch homebrew. Available as [programs.ns-usbloader](#opt-programs.ns-usbloader.enable). * [NS-USBLoader](https://github.com/developersu/ns-usbloader/), an all-in-one tool for managing Nintendo Switch homebrew. Available as [programs.ns-usbloader](#opt-programs.ns-usbloader.enable).

View file

@ -324,6 +324,7 @@
./services/amqp/rabbitmq.nix ./services/amqp/rabbitmq.nix
./services/audio/alsa.nix ./services/audio/alsa.nix
./services/audio/botamusique.nix ./services/audio/botamusique.nix
./services/audio/castopod.nix
./services/audio/gmediarender.nix ./services/audio/gmediarender.nix
./services/audio/gonic.nix ./services/audio/gonic.nix
./services/audio/goxlr-utility.nix ./services/audio/goxlr-utility.nix

View file

@ -0,0 +1,22 @@
# Castopod {#module-services-castopod}
Castopod is an open-source hosting platform made for podcasters who want to engage and interact with their audience.
## Quickstart {#module-services-castopod-quickstart}
Use the following configuration to start a public instance of Castopod on `castopod.example.com` domain:
```nix
networking.firewall.allowedTCPPorts = [ 80 443 ];
services.castopod = {
enable = true;
database.createLocally = true;
nginx.virtualHost = {
serverName = "castopod.example.com";
enableACME = true;
forceSSL = true;
};
};
```
Go to `https://castopod.example.com/cp-install` to create superadmin account after applying the above configuration.

View file

@ -0,0 +1,287 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.castopod;
fpm = config.services.phpfpm.pools.castopod;
user = "castopod";
stateDirectory = "/var/lib/castopod";
# https://docs.castopod.org/getting-started/install.html#requirements
phpPackage = pkgs.php.withExtensions ({ enabled, all }: with all; [
intl
curl
mbstring
gd
exif
mysqlnd
] ++ enabled);
in
{
meta.doc = ./castopod.md;
meta.maintainers = with lib.maintainers; [ alexoundos misuzu ];
options.services = {
castopod = {
enable = lib.mkEnableOption (lib.mdDoc "Castopod");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.castopod;
defaultText = lib.literalMD "pkgs.castopod";
description = lib.mdDoc "Which Castopod package to use.";
};
database = {
createLocally = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc ''
Create the database and database user locally.
'';
};
hostname = lib.mkOption {
type = lib.types.str;
default = "localhost";
description = lib.mdDoc "Database hostname.";
};
name = lib.mkOption {
type = lib.types.str;
default = "castopod";
description = lib.mdDoc "Database name.";
};
user = lib.mkOption {
type = lib.types.str;
default = user;
description = lib.mdDoc "Database user.";
};
passwordFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
example = "/run/keys/castopod-dbpassword";
description = lib.mdDoc ''
A file containing the password corresponding to
[](#opt-services.castopod.database.user).
'';
};
};
settings = lib.mkOption {
type = with lib.types; attrsOf (oneOf [ str int bool ]);
default = { };
example = {
"email.protocol" = "smtp";
"email.SMTPHost" = "localhost";
"email.SMTPUser" = "myuser";
"email.fromEmail" = "castopod@example.com";
};
description = lib.mdDoc ''
Environment variables used for Castopod.
See [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)
for available environment variables.
'';
};
environmentFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
example = "/run/keys/castopod-env";
description = lib.mdDoc ''
Environment file to inject e.g. secrets into the configuration.
See [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)
for available environment variables.
'';
};
configureNginx = lib.mkOption {
type = lib.types.bool;
default = true;
description = lib.mdDoc "Configure nginx as a reverse proxy for CastoPod.";
};
localDomain = lib.mkOption {
type = lib.types.str;
example = "castopod.example.org";
description = lib.mdDoc "The domain serving your CastoPod instance.";
};
poolSettings = lib.mkOption {
type = with lib.types; attrsOf (oneOf [ str int bool ]);
default = {
"pm" = "dynamic";
"pm.max_children" = "32";
"pm.start_servers" = "2";
"pm.min_spare_servers" = "2";
"pm.max_spare_servers" = "4";
"pm.max_requests" = "500";
};
description = lib.mdDoc ''
Options for Castopod's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
'';
};
};
};
config = lib.mkIf cfg.enable {
services.castopod.settings =
let
sslEnabled = with config.services.nginx.virtualHosts.${cfg.localDomain}; addSSL || forceSSL || onlySSL || enableACME || useACMEHost != null;
baseURL = "http${lib.optionalString sslEnabled "s"}://${cfg.localDomain}";
in
lib.mapAttrs (name: lib.mkDefault) {
"app.forceGlobalSecureRequests" = sslEnabled;
"app.baseURL" = baseURL;
"media.baseURL" = "/";
"media.root" = "media";
"media.storage" = stateDirectory;
"admin.gateway" = "admin";
"auth.gateway" = "auth";
"database.default.hostname" = cfg.database.hostname;
"database.default.database" = cfg.database.name;
"database.default.username" = cfg.database.user;
"database.default.DBPrefix" = "cp_";
"cache.handler" = "file";
};
services.phpfpm.pools.castopod = {
inherit user;
group = config.services.nginx.group;
phpPackage = phpPackage;
phpOptions = ''
# https://code.castopod.org/adaures/castopod/-/blob/main/docker/production/app/uploads.ini
file_uploads = On
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 512M
max_execution_time = 300
max_input_time = 300
'';
settings = {
"listen.owner" = config.services.nginx.user;
"listen.group" = config.services.nginx.group;
} // cfg.poolSettings;
};
systemd.services.castopod-setup = {
after = lib.optional config.services.mysql.enable "mysql.service";
requires = lib.optional config.services.mysql.enable "mysql.service";
wantedBy = [ "multi-user.target" ];
path = [ pkgs.openssl phpPackage ];
script =
let
envFile = "${stateDirectory}/.env";
media = "${cfg.settings."media.storage"}/${cfg.settings."media.root"}";
in
''
mkdir -p ${stateDirectory}/writable/{cache,logs,session,temp,uploads}
if [ ! -d ${lib.escapeShellArg media} ]; then
cp --no-preserve=mode,ownership -r ${cfg.package}/share/castopod/public/media ${lib.escapeShellArg media}
fi
if [ ! -f ${stateDirectory}/salt ]; then
openssl rand -base64 33 > ${stateDirectory}/salt
fi
cat <<'EOF' > ${envFile}
${lib.generators.toKeyValue { } cfg.settings}
EOF
echo "analytics.salt=$(cat ${stateDirectory}/salt)" >> ${envFile}
${if (cfg.database.passwordFile != null) then ''
echo "database.default.password=$(cat ${lib.escapeShellArg cfg.database.passwordFile})" >> ${envFile}
'' else ''
echo "database.default.password=" >> ${envFile}
''}
${lib.optionalString (cfg.environmentFile != null) ''
cat ${lib.escapeShellArg cfg.environmentFile}) >> ${envFile}
''}
php spark castopod:database-update
'';
serviceConfig = {
StateDirectory = "castopod";
WorkingDirectory = "${cfg.package}/share/castopod";
Type = "oneshot";
RemainAfterExit = true;
User = user;
Group = config.services.nginx.group;
};
};
systemd.services.castopod-scheduled = {
after = [ "castopod-setup.service" ];
wantedBy = [ "multi-user.target" ];
path = [ phpPackage ];
script = ''
php public/index.php scheduled-activities
php public/index.php scheduled-websub-publish
php public/index.php scheduled-video-clips
'';
serviceConfig = {
StateDirectory = "castopod";
WorkingDirectory = "${cfg.package}/share/castopod";
Type = "oneshot";
User = user;
Group = config.services.nginx.group;
};
};
systemd.timers.castopod-scheduled = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*-*-* *:*:00";
Unit = "castopod-scheduled.service";
};
};
services.mysql = lib.mkIf cfg.database.createLocally {
enable = true;
package = lib.mkDefault pkgs.mariadb;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [{
name = cfg.database.user;
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
}];
};
services.nginx = lib.mkIf cfg.configureNginx {
enable = true;
virtualHosts."${cfg.localDomain}" = {
root = lib.mkForce "${cfg.package}/share/castopod/public";
extraConfig = ''
try_files $uri $uri/ /index.php?$args;
index index.php index.html;
'';
locations."^~ /${cfg.settings."media.root"}/" = {
root = cfg.settings."media.storage";
extraConfig = ''
add_header Access-Control-Allow-Origin "*";
expires max;
access_log off;
'';
};
locations."~ \.php$" = {
fastcgiParams = {
SERVER_NAME = "$host";
};
extraConfig = ''
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_pass unix:${fpm.socket};
try_files $uri =404;
fastcgi_read_timeout 3600;
fastcgi_send_timeout 3600;
'';
};
};
};
users.users.${user} = lib.mapAttrs (name: lib.mkDefault) {
description = "Castopod user";
isSystemUser = true;
group = config.services.nginx.group;
};
};
}

View file

@ -9,8 +9,14 @@ let
options = { options = {
devices = mkOption { devices = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ];
example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ];
description = mdDoc "Paths to keyboard devices."; description = mdDoc ''
Paths to keyboard devices.
An empty list, the default value, lets kanata detect which
input devices are keyboards and intercept them all.
'';
}; };
config = mkOption { config = mkOption {
type = types.lines; type = types.lines;
@ -162,6 +168,14 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
warnings =
let
keyboardsWithEmptyDevices = filterAttrs (name: keyboard: keyboard.devices == [ ]) cfg.keyboards;
existEmptyDevices = length (attrNames keyboardsWithEmptyDevices) > 0;
moreThanOneKeyboard = length (attrNames cfg.keyboards) > 1;
in
optional (existEmptyDevices && moreThanOneKeyboard) "One device can only be intercepted by one kanata instance. Setting services.kanata.keyboards.${head (attrNames keyboardsWithEmptyDevices)}.devices = [ ] and using more than one services.kanata.keyboards may cause a race condition.";
hardware.uinput.enable = true; hardware.uinput.enable = true;
systemd.services = mapAttrs' mkService cfg.keyboards; systemd.services = mapAttrs' mkService cfg.keyboards;

View file

@ -164,6 +164,15 @@ let
of the wireguard network has to be adjusted as well. of the wireguard network has to be adjusted as well.
''; '';
}; };
metric = mkOption {
default = null;
type = with types; nullOr int;
example = 700;
description = lib.mdDoc ''
Set the metric of routes related to this Wireguard interface.
'';
};
}; };
}; };
@ -395,7 +404,7 @@ let
optionalString interfaceCfg.allowedIPsAsRoutes optionalString interfaceCfg.allowedIPsAsRoutes
(concatMapStringsSep "\n" (concatMapStringsSep "\n"
(allowedIP: (allowedIP:
''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"'' ''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}" ${optionalString (interfaceCfg.metric != null) "metric ${toString interfaceCfg.metric}"}''
) peer.allowedIPs); ) peer.allowedIPs);
in '' in ''
${wg_setup} ${wg_setup}

View file

@ -2,40 +2,15 @@
let let
cfg = config.services.peering-manager; cfg = config.services.peering-manager;
configFile = pkgs.writeTextFile {
name = "configuration.py";
text = ''
ALLOWED_HOSTS = ['*']
DATABASE = {
'NAME': 'peering-manager',
'USER': 'peering-manager',
'HOST': '/run/postgresql',
}
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate pythonFmt = pkgs.formats.pythonVars {};
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended settingsFile = pythonFmt.generate "peering-manager-settings.py" cfg.settings;
# to use two separate database IDs. extraConfigFile = pkgs.writeTextFile {
REDIS = { name = "peering-manager-extraConfig.py";
'tasks': { text = cfg.extraConfig;
'UNIX_SOCKET_PATH': '${config.services.redis.servers.peering-manager.unixSocket}',
'DATABASE': 0,
},
'caching': {
'UNIX_SOCKET_PATH': '${config.services.redis.servers.peering-manager.unixSocket}',
'DATABASE': 1,
}
}
with open("${cfg.secretKeyFile}", "r") as file:
SECRET_KEY = file.readline()
'' + lib.optionalString (cfg.peeringdbApiKeyFile != null) ''
with open("${cfg.peeringdbApiKeyFile}", "r") as file:
PEERINGDB_API_KEY = file.readline()
'' + ''
${cfg.extraConfig}
'';
}; };
configFile = pkgs.concatText "configuration.py" [ settingsFile extraConfigFile ];
pkg = (pkgs.peering-manager.overrideAttrs (old: { pkg = (pkgs.peering-manager.overrideAttrs (old: {
postInstall = '' postInstall = ''
ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py
@ -106,6 +81,30 @@ in {
''; '';
}; };
settings = lib.mkOption {
description = lib.mdDoc ''
Configuration options to set in `configuration.py`.
See the [documentation](https://peering-manager.readthedocs.io/en/stable/configuration/optional-settings/) for more possible options.
'';
default = { };
type = lib.types.submodule {
freeformType = pythonFmt.type;
options = {
ALLOWED_HOSTS = lib.mkOption {
type = with lib.types; listOf str;
default = ["*"];
description = lib.mdDoc ''
A list of valid fully-qualified domain names (FQDNs) and/or IP
addresses that can be used to reach the peering manager service.
'';
};
};
};
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
@ -135,7 +134,39 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.peering-manager.plugins = lib.mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]); services.peering-manager = {
settings = {
DATABASE = {
NAME = "peering-manager";
USER = "peering-manager";
HOST = "/run/postgresql";
};
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
# to use two separate database IDs.
REDIS = {
tasks = {
UNIX_SOCKET_PATH = config.services.redis.servers.peering-manager.unixSocket;
DATABASE = 0;
};
caching = {
UNIX_SOCKET_PATH = config.services.redis.servers.peering-manager.unixSocket;
DATABASE = 1;
};
};
};
extraConfig = ''
with open("${cfg.secretKeyFile}", "r") as file:
SECRET_KEY = file.readline()
'' + lib.optionalString (cfg.peeringdbApiKeyFile != null) ''
with open("${cfg.peeringdbApiKeyFile}", "r") as file:
PEERINGDB_API_KEY = file.readline()
'';
plugins = lib.mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]);
};
system.build.peeringManagerPkg = pkg; system.build.peeringManagerPkg = pkg;

View file

@ -158,6 +158,7 @@ in {
cagebreak = handleTest ./cagebreak.nix {}; cagebreak = handleTest ./cagebreak.nix {};
calibre-web = handleTest ./calibre-web.nix {}; calibre-web = handleTest ./calibre-web.nix {};
calibre-server = handleTest ./calibre-server.nix {}; calibre-server = handleTest ./calibre-server.nix {};
castopod = handleTest ./castopod.nix {};
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; }; cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; }; cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; }; cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };

87
nixos/tests/castopod.nix Normal file
View file

@ -0,0 +1,87 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = "castopod";
meta = with lib.maintainers; {
maintainers = [ alexoundos misuzu ];
};
nodes.castopod = { nodes, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
networking.extraHosts = ''
127.0.0.1 castopod.example.com
'';
services.castopod = {
enable = true;
database.createLocally = true;
localDomain = "castopod.example.com";
};
environment.systemPackages =
let
username = "admin";
email = "admin@castood.example.com";
password = "v82HmEp5";
testRunner = pkgs.writers.writePython3Bin "test-runner"
{
libraries = [ pkgs.python3Packages.selenium ];
flakeIgnore = [
"E501"
];
} ''
from selenium.webdriver.common.by import By
from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument('--headless')
driver = Firefox(options=options)
try:
driver.implicitly_wait(20)
driver.get('http://castopod.example.com/cp-install')
wait = WebDriverWait(driver, 10)
wait.until(EC.title_contains("installer"))
driver.find_element(By.CSS_SELECTOR, '#username').send_keys(
'${username}'
)
driver.find_element(By.CSS_SELECTOR, '#email').send_keys(
'${email}'
)
driver.find_element(By.CSS_SELECTOR, '#password').send_keys(
'${password}'
)
driver.find_element(By.XPATH, "//button[contains(., 'Finish install')]").click()
wait.until(EC.title_contains("Auth"))
driver.find_element(By.CSS_SELECTOR, '#email').send_keys(
'${email}'
)
driver.find_element(By.CSS_SELECTOR, '#password').send_keys(
'${password}'
)
driver.find_element(By.XPATH, "//button[contains(., 'Login')]").click()
wait.until(EC.title_contains("Admin dashboard"))
finally:
driver.close()
driver.quit()
'';
in
[ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
};
testScript = ''
start_all()
castopod.wait_for_unit("castopod-setup.service")
castopod.wait_for_file("/run/phpfpm/castopod.sock")
castopod.wait_for_unit("nginx.service")
castopod.wait_for_open_port(80)
castopod.wait_until_succeeds("curl -sS -f http://castopod.example.com")
castopod.succeed("curl -s http://localhost/cp-install | grep 'Create your Super Admin account' > /dev/null")
with subtest("Create superadmin and log in"):
castopod.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner")
'';
})

View file

@ -0,0 +1,53 @@
{ stdenv
, fetchurl
, ffmpeg-headless
, lib
, nixosTests
, stateDirectory ? "/var/lib/castopod"
}:
stdenv.mkDerivation {
pname = "castopod";
version = "1.6.4";
src = fetchurl {
url = "https://code.castopod.org/adaures/castopod/uploads/ce56d4f149242f12bedd20f9a2b0916d/castopod-1.6.4.tar.gz";
sha256 = "080jj91yxbn3xsbs0sywzwa2f5in9bp9qi2zwqcfqpaxlq9ga62v";
};
dontBuild = true;
dontFixup = true;
postPatch = ''
# not configurable at runtime unfortunately:
substituteInPlace app/Config/Paths.php \
--replace "__DIR__ . '/../../writable'" "'${stateDirectory}/writable'"
# configuration file must be writable, place it to ${stateDirectory}
substituteInPlace modules/Install/Controllers/InstallController.php \
--replace "ROOTPATH" "'${stateDirectory}/'"
substituteInPlace public/index.php spark \
--replace "DotEnv(ROOTPATH)" "DotEnv('${stateDirectory}')"
# ffmpeg is required for Video Clips feature
substituteInPlace modules/MediaClipper/VideoClipper.php \
--replace "ffmpeg" "${ffmpeg-headless}/bin/ffmpeg"
substituteInPlace modules/Admin/Controllers/VideoClipsController.php \
--replace "which ffmpeg" "echo ${ffmpeg-headless}/bin/ffmpeg"
'';
installPhase = ''
mkdir -p $out/share/castopod
cp -r . $out/share/castopod
'';
passthru.tests.castopod = nixosTests.castopod;
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "An open-source hosting platform made for podcasters who want to engage and interact with their audience";
homepage = "https://castopod.org";
license = licenses.agpl3Only;
maintainers = with maintainers; [ alexoundos misuzu ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,89 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq
set -euo pipefail
nixpkgs="$(git rev-parse --show-toplevel)"
castopod_nix="$nixpkgs/pkgs/applications/audio/castopod/default.nix"
# https://www.meetup.com/api/guide/#p02-querying-section
query='
query allReleases($fullPath: ID!, $first: Int, $last: Int, $before: String, $after: String, $sort: ReleaseSort) {
project(fullPath: $fullPath) {
id
releases(
first: $first
last: $last
before: $before
after: $after
sort: $sort
) {
nodes {
...Release
__typename
}
__typename
}
__typename
}
}
fragment Release on Release {
id
name
tagName
releasedAt
createdAt
upcomingRelease
historicalRelease
assets {
links {
nodes {
id
name
url
directAssetUrl
linkType
__typename
}
__typename
}
__typename
}
__typename
}
'
variables='{
"fullPath": "adaures/castopod",
"first": 1,
"sort": "RELEASED_AT_DESC"
}'
post=$(cat <<EOF
{"query": "$(echo $query)", "variables": $(echo $variables)}
EOF
)
json="$(curl -s -X POST https://code.castopod.org/api/graphql \
-H 'Content-Type: application/json' \
-d "$post")"
echo "$json"
TAG=$(echo $json | jq -r '.data.project.releases.nodes[].tagName')
ASSET_URL=$(echo $json | jq -r '.data.project.releases.nodes[].assets.links.nodes[].url' | grep .tar.gz$)
CURRENT_VERSION=$(nix eval -f "$nixpkgs" --raw castopod.version)
VERSION=${TAG:1}
if [[ "$CURRENT_VERSION" == "$VERSION" ]]; then
echo "castopod is up-to-date: ${CURRENT_VERSION}"
exit 0
fi
SHA256=$(nix-prefetch-url "$ASSET_URL")
URL=$(echo $ASSET_URL | sed -e 's/[\/&]/\\&/g')
sed -e "s/version =.*;/version = \"$VERSION\";/g" \
-e "s/url =.*;/url = \"$URL\";/g" \
-e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
-i "$castopod_nix"

View file

@ -2,13 +2,13 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "open-stage-control"; pname = "open-stage-control";
version = "1.25.3"; version = "1.25.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jean-emmanuel"; owner = "jean-emmanuel";
repo = "open-stage-control"; repo = "open-stage-control";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-drv+QNBmUjvlRul8PlFK4ZBIDw6BV4kJXVw287H6WT4="; hash = "sha256-N0bL/kgw5tIVcD4fGYrahdola/w9ouct0+AUqw+dUOg=";
}; };
# Remove some Electron stuff from package.json # Remove some Electron stuff from package.json
@ -16,7 +16,7 @@ buildNpmPackage rec {
sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json
''; '';
npmDepsHash = "sha256-M+6+zrxy8VpJQS0dG/xORMbflKEq8wO2DEOjGrA6OUw="; npmDepsHash = "sha256-unjoBWVwmUqxAU3mDC37sXzoh7aEOdny4Asa70+sZnk=";
nativeBuildInputs = [ nativeBuildInputs = [
copyDesktopItems copyDesktopItems

View file

@ -9,16 +9,16 @@ let
in buildGoModule rec { in buildGoModule rec {
pname = "go-ethereum"; pname = "go-ethereum";
version = "1.12.2"; version = "1.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-iCLOrf6/f0f7sD0YjmBtlcOcZRDIp9IZkBadTKj1Qjw="; sha256 = "sha256-tomzF0jM1tcxnnBHLfNWcR1XGECxU8Q/SQAWQBRAFW8=";
}; };
vendorHash = "sha256-ChmQjhz4dQdwcY/269Hi5XAn8/+0z/AF7Kd9PJ8WqHg="; vendorHash = "sha256-VX2S7yjdcconPd8wisV+Cl6FVuEUGU7smIBKfTxpUVY=";
doCheck = false; doCheck = false;

View file

@ -1,6 +1,8 @@
{ lib { lib
, buildGoModule , buildGoModule
, fetchFromGitHub , fetchFromGitHub
, installShellFiles
, stdenv
}: }:
buildGoModule rec { buildGoModule rec {
pname = "glow"; pname = "glow";
@ -19,6 +21,14 @@ buildGoModule rec {
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd glow \
--bash <($out/bin/glow completion bash) \
--fish <($out/bin/glow completion fish) \
--zsh <($out/bin/glow completion zsh)
'';
meta = with lib; { meta = with lib; {
description = "Render markdown on the CLI, with pizzazz!"; description = "Render markdown on the CLI, with pizzazz!";
homepage = "https://github.com/charmbracelet/glow"; homepage = "https://github.com/charmbracelet/glow";

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "ldtk"; pname = "ldtk";
version = "1.3.4"; version = "1.4.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip"; url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
hash = "sha256-/EFmuzj8hYhQJegZpZhZb4fuSeMF9wdG1Be4duEvW54="; hash = "sha256-WuKzhE9r/yMqlV2bf/0AuNVKfxq/SlecmN3rHt6RjXo=";
}; };
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ]; nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];

View file

@ -4,13 +4,13 @@
buildGoModule rec { buildGoModule rec {
pname = "orbiton"; pname = "orbiton";
version = "2.64.3"; version = "2.65.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xyproto"; owner = "xyproto";
repo = "orbiton"; repo = "orbiton";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-mx6k6OXr3iTCD1FTC7J1fnz7Gs/GyggHXnVywuPo5BY="; hash = "sha256-ul5E5xOtH5qh5tNE+S/VhUOr079wHwgtXF7ZIAwGzgU=";
}; };
vendorHash = null; vendorHash = null;

View file

@ -30,6 +30,7 @@
, Foundation , Foundation
, testers , testers
, imagemagick , imagemagick
, perlPackages
, python3 , python3
}: }:
@ -47,13 +48,13 @@ in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick"; pname = "imagemagick";
version = "7.1.1-15"; version = "7.1.1-18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ImageMagick"; owner = "ImageMagick";
repo = "ImageMagick"; repo = "ImageMagick";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-/fI/RrwcgvKX5loIrDAur60VF5O4FgyPYN7BbcPP/bU="; hash = "sha256-DnmX4dxpOqDGHOFSnq7ms2fLGdB1nKdZbpd0Q9t+X6A=";
}; };
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@ -125,12 +126,14 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests = { passthru.tests = {
version = testers.testVersion { package = finalAttrs.finalPackage; }; version = testers.testVersion { package = finalAttrs.finalPackage; };
inherit (perlPackages) ImageMagick;
inherit (python3.pkgs) img2pdf; inherit (python3.pkgs) img2pdf;
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
}; };
meta = with lib; { meta = with lib; {
homepage = "http://www.imagemagick.org/"; homepage = "http://www.imagemagick.org/";
changelog = "https://github.com/ImageMagick/Website/blob/main/ChangeLog.md";
description = "A software suite to create, edit, compose, or convert bitmap images"; description = "A software suite to create, edit, compose, or convert bitmap images";
pkgConfigModules = [ "ImageMagick" "MagickWand" ]; pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;

View file

@ -4,11 +4,11 @@
lib, lib,
}: let }: let
pname = "upscayl"; pname = "upscayl";
version = "2.8.1"; version = "2.8.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage"; url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
hash = "sha256-gmFT6onuoaw9WDCUDImZM/AxuZECqPC73ZyNnp6WSGA="; hash = "sha256-w5rjLqdlPOZWgdc2t0Y3tl24qZqpjBV6I9gruLaI+qc=";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {

View file

@ -18,14 +18,14 @@
mkDerivation rec { mkDerivation rec {
pname = "qcad"; pname = "qcad";
version = "3.28.1.3"; version = "3.28.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "qcad-${version}-src"; name = "qcad-${version}-src";
owner = "qcad"; owner = "qcad";
repo = "qcad"; repo = "qcad";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-4Kr/zKE2VqAblNvxT9dg1325V0OCMca3MPEiG3fTxT4="; sha256 = "sha256-0iH+fuh7jurk7FmEdTig+Tfm7ts3b2Azqv6T5kUNpg4=";
}; };
patches = [ patches = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "timewarrior"; pname = "timewarrior";
version = "1.5.0"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GothenburgBitFactory"; owner = "GothenburgBitFactory";
repo = "timewarrior"; repo = "timewarrior";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-qD49NExR0OZ6hgt5ejGiltxF9xkmseJjhJNzEGofnhw="; sha256 = "sha256-0obIMnPBvMO30o+qXqwtINNRobBR6cFO65B/xjVt+2w=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, rustPlatform , rustPlatform
, cmake , cmake
, pkg-config , pkg-config
@ -26,6 +27,14 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-AAub8UwAvX3zNX+SM/T9biyNxFTgfqUQG/MUGfwWuno="; cargoHash = "sha256-AAub8UwAvX3zNX+SM/T9biyNxFTgfqUQG/MUGfwWuno=";
patches = [
(fetchpatch {
name = "CVE-2023-40274.patch";
url = "https://github.com/getzola/zola/commit/fe1967fb0fe063b1cee1ad48820870ab2ecc0e5b.patch";
hash = "sha256-B/SVGhVX5hAbvMhBYO+mU5+xdZXU2JyS4uKmOj+aZuI=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
pkg-config pkg-config

View file

@ -91,11 +91,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "brave"; pname = "brave";
version = "1.58.124"; version = "1.58.129";
src = fetchurl { src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "sha256-Q/bdauGZR68ueeKxOKI8X7OAc7UmNgixxEJncDsYhH0="; sha256 = "sha256-AJ287Ph6iGnodw3Xt2XMlryBlBLNnvEI8rwpuo5ubKc=";
}; };
dontConfigure = true; dontConfigure = true;

View file

@ -29,9 +29,9 @@ rec {
sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure
''; '';
extraPrefsFiles = [ "${source}/submodules/settings/librewolf.cfg" ]; extraPrefsFiles = [ "${src.settings}/librewolf.cfg" ];
extraPoliciesFiles = [ "${source}/submodules/settings/distribution/policies.json" ]; extraPoliciesFiles = [ "${src.settings}/distribution/policies.json" ];
extraPassthru = { extraPassthru = {
librewolf = { inherit src extraPatches; }; librewolf = { inherit src extraPatches; };

View file

@ -1,11 +1,15 @@
{ {
"packageVersion": "116.0.3-1", "packageVersion": "117.0.1-1",
"source": { "source": {
"rev": "116.0.3-1", "rev": "117.0.1-1",
"sha256": "19l5nny96p89xm8c9f5m1435sglshn7izmjnj338c8qh217zxiyq" "sha256": "06j85b6v54vxj99hgrlibpsg6f8w8cqj912vz7gwyfa17pawax9z"
},
"settings": {
"rev": "9c862f06f970d69e00c1035e0d4774fb44fd84a6",
"sha256": "0ay58wrhfn0b56748phpn0ahz11ls9y8d2fd1z4zrj6dv398vlmb"
}, },
"firefox": { "firefox": {
"version": "116.0.3", "version": "117.0.1",
"sha512": "194c50e9ba5a918c37fbef8cd72ffb98e5e9f51955d8172b6666a758b5f20777ca0a7f79dff0328305fb6dafefb102ab002e326f47d0965a4dc6d3e9287c42b9" "sha512": "1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071"
} }
} }

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, fetchFromGitLab }: { lib, fetchurl, fetchFromGitLab, fetchFromGitea }:
let src = lib.importJSON ./src.json; let src = lib.importJSON ./src.json;
in in
{ {
@ -9,6 +9,12 @@ in
fetchSubmodules = true; fetchSubmodules = true;
inherit (src.source) rev sha256; inherit (src.source) rev sha256;
}; };
settings = fetchFromGitea {
domain = "codeberg.org";
owner = "librewolf";
repo = "settings";
inherit (src.settings) rev sha256;
};
firefox = fetchurl { firefox = fetchurl {
url = url =
"mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz"; "mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz";

View file

@ -57,9 +57,18 @@ writeScript "update-librewolf" ''
ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o) ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
echo "ffHash=$ffHash" echo "ffHash=$ffHash"
# upstream does not specify settings rev, so just get the latest. see https://github.com/NixOS/nixpkgs/issues/252276
settingsRev=$(curl 'https://codeberg.org/api/v1/repos/librewolf/settings/commits?sha=master&limit=1' | jq -r .[0].sha)
echo "settingsRev=$settingsRev"
repoUrl=https://codeberg.org/librewolf/settings
nix-prefetch-git $repoUrl --quiet --rev $settingsRev > $prefetchOut
settingsSha256=$(jq -r .sha256 < $prefetchOut)
jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson
jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson
jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson
jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson
jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson
jq ".settings.rev = \"$settingsRev\"" $srcJson | sponge $srcJson
jq ".settings.sha256 = \"$settingsSha256\"" $srcJson | sponge $srcJson
'' ''

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "helm-secrets"; pname = "helm-secrets";
version = "4.4.2"; version = "4.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jkroepke"; owner = "jkroepke";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-GpPgjRqzH4fcnaHs9SWfdaCZimwBleXnxQLjqy8SArs="; hash = "sha256-zytorArHhdwF7F9c2QkaX3KxLNlWySKieK2K1b5omFI=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "rancher"; pname = "rancher";
version = "2.7.0"; version = "2.7.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rancher"; owner = "rancher";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-co4LVd5A0bJ4CIuCfv6WyV8XCMbPCFAAcV12WekYrw4="; hash = "sha256-HgLV4iuZXkL6BOKtUul1pFuIWv09VnUSPbdrtFd6Khk=";
}; };
ldflags = [ ldflags = [
@ -19,7 +19,7 @@ buildGoModule rec {
"-static" "-static"
]; ];
vendorHash = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ="; vendorHash = "sha256-mXLZMnGJ1m5gFroJcSoE4SbVvsyuS73hfXFeWBRtUdI=";
postInstall = '' postInstall = ''
mv $out/bin/cli $out/bin/rancher mv $out/bin/cli $out/bin/rancher

View file

@ -43,6 +43,5 @@ in
meta = metaCommon // { meta = metaCommon // {
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
mainProgram = "caprine";
}; };
}) })

View file

@ -30,6 +30,5 @@ stdenvNoCC.mkDerivation {
meta = metaCommon // { meta = metaCommon // {
platforms = with lib.platforms; darwin; platforms = with lib.platforms; darwin;
mainProgram = "caprine";
}; };
} }

View file

@ -1,7 +1,7 @@
{ lib, callPackage, stdenvNoCC }: { lib, callPackage, stdenvNoCC }:
let let
pname = "caprine"; pname = "caprine";
version = "2.58.0"; version = "2.58.3";
metaCommon = with lib; { metaCommon = with lib; {
description = "An elegant Facebook Messenger desktop app"; description = "An elegant Facebook Messenger desktop app";
homepage = "https://sindresorhus.com/caprine"; homepage = "https://sindresorhus.com/caprine";
@ -10,11 +10,11 @@ let
}; };
x86_64-appimage = callPackage ./build-from-appimage.nix { x86_64-appimage = callPackage ./build-from-appimage.nix {
inherit pname version metaCommon; inherit pname version metaCommon;
sha256 = "7iK2RyA63okJLH2Xm97fFilJHzqFuP96xkUr2+ADbC4="; sha256 = "sha256-w0nBQhHYzFLsNu0MxWhoju6fh4JpAKC7MWWVxwDkRYk=";
}; };
x86_64-dmg = callPackage ./build-from-dmg.nix { x86_64-dmg = callPackage ./build-from-dmg.nix {
inherit pname version metaCommon; inherit pname version metaCommon;
sha256 = "RqK+fJJAt9W+m7zg6ZYI6PEAOa3V1UxsptEpG1qjibg="; sha256 = "sha256-6Mx2ZkT2hdnaSVt2hKMMV9xc7rYPFFbxcj6vb84ojYU=";
}; };
in in
(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: { (if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {

View file

@ -2,13 +2,13 @@
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
pname = "signalbackup-tools"; pname = "signalbackup-tools";
version = "20230925"; version = "20230926";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bepaald"; owner = "bepaald";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-j1iAFNG6A/u/2OY07At0kobXtlSqoy3jM2rBf96qhHQ="; hash = "sha256-OU5jKalS8vbQPMT+/FgXbRjWrgL96oIp2I/eHsRa7Q8=";
}; };
postPatch = '' postPatch = ''

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "teams-for-linux"; pname = "teams-for-linux";
version = "1.3.8"; version = "1.3.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "IsmaelMartinez"; owner = "IsmaelMartinez";
repo = "teams-for-linux"; repo = "teams-for-linux";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-G0UBzSXoZPLHBsM0nslPLNBZs0sUAQYJ403nPV+3Qu4="; hash = "sha256-xSNjAao8pv3jGRK68bkwGy0vo3nm8KRZjTtCEge4kHs=";
}; };
offlineCache = fetchYarnDeps { offlineCache = fetchYarnDeps {

View file

@ -30,11 +30,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "teamspeak-client"; pname = "teamspeak-client";
version = "3.6.1"; version = "3.6.2";
src = fetchurl { src = fetchurl {
url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"; url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run";
hash = "sha256-j4sgZ+tJpV6ST0yLmbLTLgBxQTcK1LZoEEfMe3TUAC4="; hash = "sha256-WfEQQ4lxoj+QSnAOfdCoEc+Z1Oa5dbo6pFli1DsAZCI=";
}; };
# grab the plugin sdk for the desktop icon # grab the plugin sdk for the desktop icon

View file

@ -10,14 +10,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "pyrosimple"; pname = "pyrosimple";
version = "2.10.2"; version = "2.11.1";
format = "pyproject"; format = "pyproject";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kannibalox"; owner = "kannibalox";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-3ZsRJNGbcKGU6v2uYUintMpKY8Z/DyTIDDxTsDEV6lw="; hash = "sha256-J3eRuQK53Tsh1vhIgEUYBv08c6v3fSMzgK2PIhA13Qw=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View file

@ -18,13 +18,6 @@ buildGoModule rec {
vendorHash = "sha256-iT/QMm6RM6kvw69Az+aLTtBuaCX7ELAiYlj5wXAtBd4="; vendorHash = "sha256-iT/QMm6RM6kvw69Az+aLTtBuaCX7ELAiYlj5wXAtBd4=";
subPackages = [
"cmd/soju"
"cmd/sojuctl"
"contrib/migrate-db"
"contrib/znc-import"
];
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles
scdoc scdoc
@ -33,17 +26,14 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];
postBuild = '' postBuild = ''
make doc/soju.1 make doc/soju.1 doc/sojuctl.1
''; '';
postInstall = '' postInstall = ''
installManPage doc/soju.1 installManPage doc/soju.1 doc/sojuctl.1
''; '';
preCheck = '' preCheck = ''
# Test all targets.
unset subPackages
# Disable a test that requires an additional service. # Disable a test that requires an additional service.
rm database/postgres_test.go rm database/postgres_test.go
''; '';

View file

@ -12,11 +12,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "appflowy"; pname = "appflowy";
version = "0.3.1"; version = "0.3.2";
src = fetchzip { src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz"; url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz";
hash = "sha256-jIekGA+MG9tvjEyHAI3dcD7lI1JL/qPqRpVO9gRhcTw="; hash = "sha256-UmBXAfRIr9zOScqibKPHeKzr+UTx3gbGEm0tl7qn+oE=";
stripRoot = false; stripRoot = false;
}; };

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "super-productivity"; pname = "super-productivity";
version = "7.13.2"; version = "7.14.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage"; url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
sha256 = "sha256-HwRJUrNaoAnNuIcDWgXOYA+PxLjOE6NXRJqINIbVxOw="; sha256 = "sha256-wW72T1+RfejaI9LxSxa/g0lvIRmAeFa2ZaEa8K9mRcw=";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
}; };

View file

@ -22,13 +22,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "stellarium"; pname = "stellarium";
version = "23.2"; version = "23.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Stellarium"; owner = "Stellarium";
repo = "stellarium"; repo = "stellarium";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-8Iheb/9wjf0u10ZQRkLMLNN2s7P++Fqcr26iatiKcTo="; hash = "sha256-bYvGmYu9jMHk2IUICz2kCVh56Ymz8JHqurdWV+xEdJY=";
}; };
patches = [ patches = [
@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
homepage = "https://stellarium.org/"; homepage = "https://stellarium.org/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ kilianar ];
}; };
} }

View file

@ -2,13 +2,13 @@
ocamlPackages.buildDunePackage rec { ocamlPackages.buildDunePackage rec {
pname = "beluga"; pname = "beluga";
version = "1.1"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Beluga-lang"; owner = "Beluga-lang";
repo = "Beluga"; repo = "Beluga";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-0E7rmiLmQPfOAQ1qKiqxeLdqviVl+Thkl6KfOWkGZRc="; hash = "sha256-l/C77czLtlLnpadVx4d9ve9jv/e11jsOgzrbXt+Zo5s=";
}; };
duneVersion = "3"; duneVersion = "3";

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "UHDM"; pname = "UHDM";
version = "1.73"; version = "1.74";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chipsalliance"; owner = "chipsalliance";
repo = finalAttrs.pname; repo = finalAttrs.pname;
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-VmRn51UrJTGEG4n2fi5kRv8khXakfGbqMtYPejsZCBI="; hash = "sha256-DiwLo/3RcXY+wG2+7aDx4p6UuQm/eNX/kG35TJzIbe0=";
fetchSubmodules = false; # we use all dependencies from nix fetchSubmodules = false; # we use all dependencies from nix
}; };

View file

@ -10,7 +10,7 @@
}: }:
let let
version = "5.12.147"; version = "5.12.149";
in in
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
pname = "git-mit"; pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
owner = "PurpleBooth"; owner = "PurpleBooth";
repo = "git-mit"; repo = "git-mit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-TaYuxyezegPZPWlkYcZk+YhmHqQ/P1nO5D5JC3LN8bo="; hash = "sha256-8e7tuNXgYT4wkTbxEz+Sqp0zVody0QC+yK8gcjR3Pww=";
}; };
cargoHash = "sha256-9oqw2rIAhdo5G2GsW7rwHMymgFASKE7OrVqO2ewfG2g="; cargoHash = "sha256-V5c/UsNFWogCgyHSDwsOm2Nfsl/vBUClKQGmwzYqNz0=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "gql"; pname = "gql";
version = "0.7.0"; version = "0.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AmrDeveloper"; owner = "AmrDeveloper";
repo = "GQL"; repo = "GQL";
rev = version; rev = version;
hash = "sha256-iM5a0uy+egPBMSDBo6ks8QNfRoKku2GmFpzoanSDm9M="; hash = "sha256-qNLVbhVXITbMRI2x/0q5enJgjL3EAcXBwqWeH6MPfZs=";
}; };
cargoHash = "sha256-bpPrnguDSj1K22vmf/hEimd4tVS6ANmTiVtdsUuN1BM="; cargoHash = "sha256-UrzJGEASGaDqKUrPiNcjldevCqCPaNXJXNYecbHodOc=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config

View file

@ -14,13 +14,13 @@
mkDerivation rec { mkDerivation rec {
pname = "anilibria-winmaclinux"; pname = "anilibria-winmaclinux";
version = "1.2.9"; version = "1.2.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anilibria"; owner = "anilibria";
repo = "anilibria-winmaclinux"; repo = "anilibria-winmaclinux";
rev = version; rev = version;
sha256 = "sha256-Fdj7i4jpKIDwaIBAch7SjIV/WnqMDnCfNYSiZLsamx8="; sha256 = "sha256-mCDw8V/Uzewm32rj+mkkm5atS5nJAFJ3ry1boTn+gqI=";
}; };
sourceRoot = "source/src"; sourceRoot = "source/src";

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "hypnotix"; pname = "hypnotix";
version = "3.6"; version = "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = "hypnotix"; repo = "hypnotix";
rev = version; rev = version;
hash = "sha256-hi3ppYDzFEp4FGZHlGgwEFqyOqzX+d0JK674EyibB/c="; hash = "sha256-H8+KJ9+HLAorGIeljw8H3N8W3E2yYhAno1xy+jI54zM=";
}; };
patches = [ patches = [

View file

@ -1,8 +1,9 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, makeRustPlatform
, hostPlatform , hostPlatform
, targetPlatform , targetPlatform
, cargo
, rustc
, lld , lld
}: }:
@ -24,7 +25,12 @@ let
}; };
}; };
inherit (cross) rustPlatform; # inherit (cross) rustPlatform;
# ^ breaks because we are doing a no_std embedded build with a custom sysroot,
# but the fast_cross rustc wrapper already passes a sysroot argument
rustPlatform = cross.makeRustPlatform {
inherit rustc cargo;
};
in in

View file

@ -1,44 +0,0 @@
{ lib, stdenv, fetchFromGitHub, pkg-config
, lua, gettext, which, groff, xmessage, xterm
, readline, fontconfig, libX11, libXext, libSM
, libXinerama, libXrandr, libXft
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "notion";
version = "4.0.2";
src = fetchFromGitHub {
owner = "raboof";
repo = pname;
rev = version;
sha256 = "14swd0yqci8lxn259fkd9w92bgyf4rmjwgvgyqp78wlfix6ai4mv";
};
# error: 'PATH_MAX' undeclared
postPatch = ''
sed 1i'#include <linux/limits.h>' -i mod_notionflux/notionflux/notionflux.c
'';
nativeBuildInputs = [ pkg-config makeWrapper groff ];
buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM
libXinerama libXrandr libXft ];
buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" ];
makeFlags = [ "NOTION_RELEASE=${version}" "PREFIX=\${out}" ];
postInstall = ''
wrapProgram $out/bin/notion \
--prefix PATH ":" "${xmessage}/bin:${xterm}/bin" \
'';
meta = with lib; {
description = "Tiling tabbed window manager";
homepage = "https://notionwm.net";
license = licenses.lgpl21;
maintainers = with maintainers; [ jfb AndersonTorres raboof ];
platforms = platforms.linux;
};
}

View file

@ -1,38 +0,0 @@
{ lib, stdenv, fetchFromGitHub
, doxygen, graphviz, libX11, libXrandr }:
stdenv.mkDerivation rec {
pname = "smallwm";
version = "2020-02-28";
src = fetchFromGitHub {
owner = "adamnew123456";
repo = "SmallWM";
rev = "c2dc72afa87241bcf7e646630f4aae216ce78613";
sha256 = "0cqhy81ymdcdyvgi55a401rr96h2akskcxi9ddzjbln4a71yjlz8";
};
nativeBuildInputs = [ doxygen graphviz ];
buildInputs = [ libX11 libXrandr ];
dontConfigure = true;
makeFlags = [ "CC=${stdenv.cc}/bin/cc" "CXX=${stdenv.cc}/bin/c++" ];
buildFlags = [ "all" "doc" ];
installPhase = ''
install -dm755 $out/bin $out/share/doc/${pname}-${version}
install -m755 bin/smallwm -t $out/bin
cp -r README.markdown doc/html doc/latex $out/share/doc/${pname}-${version}
'';
meta = with lib;{
description = "A small X window manager, extended from tinywm";
homepage = "https://github.com/adamnew123456/SmallWM";
license = licenses.bsd2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

View file

@ -3,20 +3,21 @@
, moreutils , moreutils
, makeBinaryWrapper , makeBinaryWrapper
, php , php
, cacert
}: }:
{ {
composerRepositoryHook = makeSetupHook composerRepositoryHook = makeSetupHook
{ {
name = "composer-repository-hook.sh"; name = "composer-repository-hook.sh";
propagatedBuildInputs = [ jq moreutils php ]; propagatedBuildInputs = [ jq moreutils php cacert ];
substitutions = { }; substitutions = { };
} ./composer-repository-hook.sh; } ./composer-repository-hook.sh;
composerInstallHook = makeSetupHook composerInstallHook = makeSetupHook
{ {
name = "composer-install-hook.sh"; name = "composer-install-hook.sh";
propagatedBuildInputs = [ jq makeBinaryWrapper moreutils php ]; propagatedBuildInputs = [ jq makeBinaryWrapper moreutils php cacert ];
substitutions = { }; substitutions = { };
} ./composer-install-hook.sh; } ./composer-install-hook.sh;
} }

View file

@ -1,26 +1,31 @@
{ lib, stdenv, fetchurl, pkg-config { lib
, libtiff , stdenv
, fltk, gtk , fetchFromGitHub
, libICE, libSM
, dbus
, fetchpatch , fetchpatch
, dbus
, fltk13
, gtk2
, libICE
, libSM
, libtiff
, pkg-config
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "afterstep"; pname = "afterstep";
version = "2.2.12"; version = "2.2.12";
sourceName = "AfterStep-${version}";
src = fetchurl { src = fetchFromGitHub {
urls = [ "ftp://ftp.afterstep.org/stable/${sourceName}.tar.bz2" ]; owner = "afterstep";
sha256 = "1j7vkx1ig4kzwffdxnkqv3kld9qi3sam4w2nhq18waqjsi8xl5gz"; repo = "afterstep";
rev = finalAttrs.version;
hash = "sha256-j1ADTRZ3Mxv9VNZWhWCFMnM/CJfkphdrgbw9Ca3bBw0=";
}; };
patches = [ patches = [
(fetchpatch { (fetchpatch {
url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch"; url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch";
sha256 = "1vipy2lzzd2gqrsqk85pwgcdhargy815fxlbn57hsm45zglc3lj4"; hash = "sha256-RNLB6PuFVA1PsYt2VwLyLyvY2OO3oIl1xk+0/6nwN+4=";
}) })
# Fix pending upstream inclusion for binutils-2.36 support: # Fix pending upstream inclusion for binutils-2.36 support:
@ -28,7 +33,7 @@ stdenv.mkDerivation rec {
(fetchpatch { (fetchpatch {
name = "binutils-2.36.patch"; name = "binutils-2.36.patch";
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch"; url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
sha256 = "1kk97max05r2p1a71pvpaza79ff0klz32rggik342p7ki3516qv8"; hash = "sha256-aGMTyojzXEHGjO9lMT6dwLl01Fd333BUuCIX0FU9ac4=";
}) })
]; ];
@ -40,8 +45,22 @@ stdenv.mkDerivation rec {
done done
''; '';
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [
buildInputs = [ libtiff fltk gtk libICE libSM dbus ]; pkg-config
];
buildInputs = [
dbus
fltk13
gtk2
libICE
libSM
libtiff
];
outputs = [ "out" "man" ];
strictDeps = true;
# A strange type of bug: dbus is not immediately found by pkg-config # A strange type of bug: dbus is not immediately found by pkg-config
preConfigure = '' preConfigure = ''
@ -66,20 +85,19 @@ stdenv.mkDerivation rec {
# https://github.com/afterstep/afterstep/issues/8 # https://github.com/afterstep/afterstep/issues/8
enableParallelBuilding = false; enableParallelBuilding = false;
meta = with lib; { meta = {
homepage = "http://www.afterstep.org/";
description = "A NEXTStep-inspired window manager"; description = "A NEXTStep-inspired window manager";
longDescription = '' longDescription = ''
AfterStep is a window manager for the Unix X Window AfterStep is a window manager for the Unix X Window System. Originally
System. Originally based on the look and feel of the NeXTStep based on the look and feel of the NeXTStep interface, it provides end
interface, it provides end users with a consistent, clean, and users with a consistent, clean, and elegant desktop. The goal of AfterStep
elegant desktop. The goal of AfterStep development is to provide development is to provide for flexibility of desktop configuration,
for flexibility of desktop configuration, improving aestetics, improving aestetics, and efficient use of system resources.
and efficient use of system resources.
''; '';
homepage = "http://www.afterstep.org/"; license = lib.licenses.gpl2Plus;
license = licenses.gpl2; maintainers = with lib.maintainers; [ AndersonTorres ];
maintainers = [ maintainers.AndersonTorres ]; mainProgram = "afterstep";
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
})
}

View file

@ -13,14 +13,14 @@
, which , which
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "berry"; pname = "berry";
version = "0.1.12"; version = "0.1.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "JLErvin"; owner = "JLErvin";
repo = pname; repo = "berry";
rev = version; rev = finalAttrs.version;
hash = "sha256-xMJRiLNtwVRQf9HiCF3ClLKEmdDNxcY35IYxe+L7+Hk="; hash = "sha256-xMJRiLNtwVRQf9HiCF3ClLKEmdDNxcY35IYxe+L7+Hk=";
}; };
@ -39,8 +39,12 @@ stdenv.mkDerivation rec {
freetype freetype
]; ];
outputs = [ "out" "man" ];
strictDeps = true;
postPatch = '' postPatch = ''
sed -i --regexp-extended 's/(pkg_verstr=").*(")/\1${version}\2/' configure sed -i --regexp-extended 's/(pkg_verstr=").*(")/\1${finalAttrs.version}\2/' configure
''; '';
preConfigure = '' preConfigure = ''
@ -49,16 +53,16 @@ stdenv.mkDerivation rec {
desktopItems = [ desktopItems = [
(makeDesktopItem { (makeDesktopItem {
name = pname; name = "berry";
exec = "berry"; exec = "berry";
comment = meta.description; comment = "A healthy, bite-sized window manager";
desktopName = "Berry Window Manager"; desktopName = "Berry Window Manager";
genericName = "Berry Window Manager"; genericName = "Berry Window Manager";
categories = [ "Utility" ]; categories = [ "Utility" ];
}) })
]; ];
meta = with lib; { meta = {
homepage = "https://berrywm.org/"; homepage = "https://berrywm.org/";
description = "A healthy, bite-sized window manager"; description = "A healthy, bite-sized window manager";
longDescription = '' longDescription = ''
@ -74,8 +78,9 @@ stdenv.mkDerivation rec {
- Intuitively place new windows in unoccupied spaces. - Intuitively place new windows in unoccupied spaces.
- Virtual desktops. - Virtual desktops.
''; '';
license = licenses.mit; license = lib.licenses.mit;
maintainers = [ maintainers.AndersonTorres ]; mainProgram = "berry";
platforms = platforms.linux; maintainers = [ lib.maintainers.AndersonTorres ];
inherit (libX11.meta) platforms;
}; };
} })

View file

@ -0,0 +1,36 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-bump";
version = "1.1.1";
src = fetchFromGitHub {
owner = "rustadopt";
repo = "cargo-bump";
rev = "v${version}";
hash = "sha256-PhA7uC2gJcBnUQPWgZC51p/KTSxSGld3m+dd6BhW6q8=";
};
cargoHash = "sha256-mp2y5q0GYfSlB5aPC6MY9Go8a2JAiPKtVYL9SewfloI=";
nativeBuildInputs = [
pkg-config
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
meta = with lib; {
description = "Increments the version number of the current project.";
homepage = "https://github.com/wraithan/cargo-bump";
license = with licenses; [ isc ];
maintainers = with maintainers; [ cafkafk ];
};
}

View file

@ -0,0 +1,86 @@
{ lib
, stdenv
, fetchFromGitHub
, fontconfig
, gettext
, groff
, libSM
, libX11
, libXext
, libXft
, libXinerama
, libXrandr
, lua
, makeWrapper
, pkg-config
, readline
, which
, xmessage
, xterm
}:
stdenv.mkDerivation (finalAttrs: {
pname = "notion";
version = "4.0.2";
src = fetchFromGitHub {
owner = "raboof";
repo = "notion";
rev = finalAttrs.version;
hash = "sha256-u5KoTI+OcnQu9m8/Lmsmzr8lEk9tulSE7RRFhj1oXJM=";
};
# error: 'PATH_MAX' undeclared
postPatch = ''
sed 1i'#include <linux/limits.h>' -i mod_notionflux/notionflux/notionflux.c
'';
nativeBuildInputs = [
gettext
groff
lua
makeWrapper
pkg-config
which
];
buildInputs = [
fontconfig
libSM
libX11
libXext
libXft
libXinerama
libXrandr
lua
readline
];
outputs = [ "out" "man" ];
strictDeps = true;
buildFlags = [
"LUA_DIR=${lua}"
"X11_PREFIX=/no-such-path"
];
makeFlags = [
"NOTION_RELEASE=${finalAttrs.version}"
"PREFIX=${placeholder "out"}"
];
postInstall = ''
wrapProgram $out/bin/notion \
--prefix PATH ":" "${lib.makeBinPath [ xmessage xterm ]}" \
'';
meta = {
description = "Tiling tabbed window manager";
homepage = "https://notionwm.net";
license = lib.licenses.lgpl21;
mainProgram = "notion";
maintainers = with lib.maintainers; [ jfb AndersonTorres raboof ];
platforms = lib.platforms.linux;
};
})

View file

@ -2,10 +2,8 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, awk , awk
, grep
, sed
, runtimeShell
, cmake , cmake
, grep
, libXext , libXext
, libXft , libXft
, libXinerama , libXinerama
@ -14,6 +12,8 @@
, libjpeg , libjpeg
, libpng , libpng
, pkg-config , pkg-config
, runtimeShell
, sed
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -32,13 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config pkg-config
]; ];
cmakeFlags = [
"-DAWK=${awk}/bin/awk"
"-DGREP=${grep}/bin/grep"
"-DSED=${sed}/bin/sed"
"-DSH=${runtimeShell}"
];
buildInputs = [ buildInputs = [
libXext libXext
libXft libXft
@ -49,6 +42,17 @@ stdenv.mkDerivation (finalAttrs: {
libpng libpng
]; ];
outputs = [ "out" "man" ];
strictDeps = true;
cmakeFlags = [
"-DAWK=${lib.getBin awk}/bin/awk"
"-DGREP=${lib.getBin grep}/bin/grep"
"-DSED=${lib.getBin sed}/bin/sed"
"-DSH=${runtimeShell}"
];
meta = { meta = {
homepage = "https://www.pekwm.se/"; homepage = "https://www.pekwm.se/";
description = "A lightweight window manager"; description = "A lightweight window manager";
@ -67,6 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
''; '';
changelog = "https://raw.githubusercontent.com/pekwm/pekwm/release-${finalAttrs.version}/NEWS.md"; changelog = "https://raw.githubusercontent.com/pekwm/pekwm/release-${finalAttrs.version}/NEWS.md";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
mainProgram = "pekwm";
maintainers = [ lib.maintainers.AndersonTorres ]; maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };

View file

@ -0,0 +1,52 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, nss
, efivar
, util-linux
, popt
, nspr
, mandoc
}:
stdenv.mkDerivation rec {
pname = "pesign";
version = "116";
src = fetchFromGitHub {
owner = "rhboot";
repo = "pesign";
rev = version;
hash = "sha256-cuOSD/ZHkilgguDFJviIZCG8kceRWw2JgssQuWN02Do=";
};
# nss-util is missing because it is already contained in nss
# Red Hat seems to be shipping a separate nss-util:
# https://centos.pkgs.org/7/centos-x86_64/nss-util-devel-3.44.0-4.el7_7.x86_64.rpm.html
# containing things we already have in `nss`.
# We can ignore all the errors pertaining to a missing
# nss-util.pc I suppose.
buildInputs = [ efivar util-linux nss popt nspr mandoc ];
nativeBuildInputs = [ pkg-config ];
makeFlags = [ "INSTALLROOT=$(out)" ];
postInstall = ''
mv $out/usr/bin $out/bin
mv $out/usr/share $out/share
rm -rf $out/usr
rm -rf $out/etc
rm -rf $out/run
'';
meta = with lib; {
description = "Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications.";
homepage = "https://github.com/rhboot/pesign";
license = licenses.gpl2Only;
maintainers = with maintainers; [ raitobezarius ];
# efivar is currently Linux-only.
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,43 @@
{ lib
, python3
, fetchFromGitHub
}:
python3.pkgs.buildPythonApplication rec {
pname = "poethepoet";
version = "0.23.0";
pyproject = true;
src = fetchFromGitHub {
owner = "nat-n";
repo = "poethepoet";
rev = "v${version}";
hash = "sha256-bT+lRPqR7mxfZSlOyhqCkpBE0etiLh0wkg62nyK751Q=";
};
nativeBuildInputs = [
python3.pkgs.poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
pastel
tomli
];
passthru.optional-dependencies = with python3.pkgs; {
poetry_plugin = [
poetry
];
};
pythonImportsCheck = [ "poethepoet" ];
meta = with lib; {
description = "A task runner that works well with poetry";
homepage = "https://github.com/nat-n/poethepoet";
changelog = "https://github.com/nat-n/poethepoet/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
mainProgram = "poe";
};
}

View file

@ -1,42 +1,71 @@
{ lib, stdenv, fetchurl, pkg-config, perl, autoconf, automake { lib
, libX11, xorgproto, libXt, libXpm, libXft, libXtst, libXi , stdenv
, libXrandr, fontconfig, freetype, readline , fetchurl
, autoreconfHook
, fontconfig
, freetype
, libX11
, libXft
, libXi
, libXpm
, libXrandr
, libXt
, libXtst
, perl
, pkg-config
, readline
, texinfo
, xorgproto
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "ratpoison"; pname = "ratpoison";
version = "1.4.9"; version = "1.4.9";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/ratpoison/${pname}-${version}.tar.xz"; url = "mirror://savannah/ratpoison/ratpoison-${finalAttrs.version}.tar.xz";
sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr"; hash = "sha256-2Y+kvgJezKRTxAf/MRqzlJ8p8g1tir7fjwcWuF/I0fE=";
}; };
nativeBuildInputs = [
autoreconfHook
pkg-config
texinfo
];
buildInputs = [
fontconfig
freetype
libX11
libXft
libXi
libXpm
libXrandr
libXt
libXtst
perl
readline
xorgproto
];
outputs = [ "out" "contrib" "man" "doc" "info" ]; outputs = [ "out" "contrib" "man" "doc" "info" ];
strictDeps = true;
configureFlags = [ configureFlags = [
# >=1.4.9 requires this even with readline in inputs # >=1.4.9 requires this even with readline in inputs
"--enable-history" "--enable-history"
]; ];
nativeBuildInputs = [ pkg-config autoconf automake ];
buildInputs =
[ perl
libX11 xorgproto libXt libXpm libXft libXtst libXi libXrandr
fontconfig freetype readline ];
postInstall = '' postInstall = ''
mkdir -p $contrib/{bin,share} mkdir -p $contrib/{bin,share}
mv $out/bin/rpws $contrib/bin mv $out/bin/rpws $contrib/bin
mv $out/share/ratpoison $contrib/share mv $out/share/ratpoison $contrib/share
''; '';
meta = with lib; { meta = {
homepage = "https://www.nongnu.org/ratpoison/"; homepage = "https://www.nongnu.org/ratpoison/";
description = "Simple mouse-free tiling window manager"; description = "Simple mouse-free tiling window manager";
license = licenses.gpl2Plus;
longDescription = '' longDescription = ''
Ratpoison is a simple window manager with no fat library Ratpoison is a simple window manager with no fat library
dependencies, no fancy graphics, no window decorations, and no dependencies, no fancy graphics, no window decorations, and no
@ -51,8 +80,9 @@ stdenv.mkDerivation rec {
Ratpoison has a prefix map to minimize the key clobbering that Ratpoison has a prefix map to minimize the key clobbering that
cripples Emacs and other quality pieces of software. cripples Emacs and other quality pieces of software.
''; '';
license = lib.licenses.gpl2Plus;
platforms = platforms.unix; mainProgram = "ratpoison";
maintainers = [ maintainers.AndersonTorres ]; maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (libX11.meta) platforms;
}; };
} })

View file

@ -0,0 +1,46 @@
{ lib
, appimageTools
, fetchurl
}:
let
pname = "simplex-chat-desktop";
version = "5.3.1";
src = fetchurl {
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
hash = "sha256-vykdi7SXKKsjYE/yixGrKQoWuUIOAjofLUn/fsdmLMc=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
};
in appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: with pkgs; [
makeWrapper
];
extraBwrapArgs = [
"--setenv _JAVA_AWT_WM_NONREPARENTING 1"
];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install --mode=444 -D ${appimageContents}/chat.simplex.app.desktop --target-directory=$out/share/applications
substituteInPlace $out/share/applications/chat.simplex.app.desktop \
--replace 'Exec=simplex' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
'';
meta = with lib; {
description = "Desktop application for SimpleX Chat";
homepage = "https://simplex.chat";
changelog = "https://github.com/simplex-chat/simplex-chat/releases/tag/v${version}";
license = licenses.agpl3Only;
maintainers = with maintainers; [ yuu ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,32 @@
{ stdenv
, lib
, fetchFromGitHub
, pkg-config
, meson
, ncurses
, ninja
}:
stdenv.mkDerivation rec {
pname = "slurm";
version = "0.4.4";
src = fetchFromGitHub {
owner = "mattthias";
repo = "slurm";
rev = "upstream/${version}";
hash = "sha256-w77SIXFctMwwNw9cQm0HQaEaMs/5NXQjn1LpvkpCCB8=";
};
nativeBuildInputs = [ pkg-config meson ninja ];
buildInputs = [ ncurses ];
meta = with lib; {
description = "A generic network load monitor";
homepage = "https://github.com/mattthias/slurm";
license = licenses.gpl2Plus;
platforms = with platforms; [ "x86_64-linux" ];
maintainers = with maintainers; [ mikaelfangel ];
mainProgram = "slurm";
};
}

View file

@ -0,0 +1,60 @@
{ lib
, stdenv
, fetchFromGitHub
, doxygen
, graphviz
, libX11
, libXrandr
}:
stdenv.mkDerivation (finalAttrs: {
pname = "smallwm";
version = "unstable-2020-02-28";
src = fetchFromGitHub {
owner = "adamnew123456";
repo = "SmallWM";
rev = "c2dc72afa87241bcf7e646630f4aae216ce78613";
hash = "sha256-6FPpw1HE0iV/ayl2NvVUApqUcwBElRLf9o216gPyEDM=";
};
nativeBuildInputs = [
doxygen
graphviz
];
buildInputs = [
libX11
libXrandr
];
strictDeps = true;
dontConfigure = true;
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"CXX=${stdenv.cc.targetPrefix}c++"
];
buildFlags = [ "all" "doc" ];
installPhase = ''
runHook preInstall
install -dm755 $out/bin $out/share/doc/smallwm-${finalAttrs.version}
install -m755 bin/smallwm -t $out/bin
cp -r README.markdown doc/html doc/latex $out/share/doc/smallwm-${finalAttrs.version}
runHook postInstall
'';
meta = {
description = "A small X window manager, extended from tinywm";
homepage = "https://github.com/adamnew123456/SmallWM";
license = lib.licenses.bsd2;
mainProgram = "smallwm";
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (libX11.meta) platforms;
};
})

View file

@ -1,36 +1,49 @@
{ lib, stdenv, fetchFromGitHub { lib
, libX11 }: , stdenv
, fetchFromGitHub
, libX11
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "tinywm"; pname = "tinywm";
version = "2014-04-22"; version = "1.1-unstable-2014-04-22";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mackstann"; owner = "mackstann";
repo = pname; repo = "tinywm";
rev = "9d05612f41fdb8bc359f1fd9cc930bf16315abb1"; rev = "9d05612f41fdb8bc359f1fd9cc930bf16315abb1";
sha256 = "1s7r4f2d3lk1i8h089v2vyrr02hh0y9i3ihl9kqgk9s87hqw8q5b"; hash = "sha256-q2DEMTxIp/nwTBTGEZMHEAqQs99iJwQgimHS0YQj+eg=";
}; };
buildInputs = [ libX11 ]; buildInputs = [ libX11 ];
strictDeps = true;
dontConfigure = true; dontConfigure = true;
buildPhase = '' buildPhase = ''
runHook preBuild
$CC -Wall -pedantic -I${libX11}/include tinywm.c -L${libX11}/lib -lX11 -o tinywm $CC -Wall -pedantic -I${libX11}/include tinywm.c -L${libX11}/lib -lX11 -o tinywm
runHook postBuild
''; '';
installPhase = '' installPhase = ''
install -dm755 $out/bin $out/share/doc/${pname}-${version} runHook preInstall
install -dm755 $out/bin $out/share/doc/tinywm-${finalAttrs.version}
install -m755 tinywm -t $out/bin/ install -m755 tinywm -t $out/bin/
# The annotated source code is a piece of documentation # The annotated source code is a piece of documentation
install -m644 annotated.c README -t $out/share/doc/${pname}-${version} install -m644 annotated.c README -t $out/share/doc/tinywm-${finalAttrs.version}
runHook postInstall
''; '';
meta = with lib;{ meta = {
homepage = "http://incise.org/tinywm.html";
description = "A tiny window manager for X11"; description = "A tiny window manager for X11";
longDescription = '' longDescription = ''
TinyWM is a tiny window manager that I created as an exercise in TinyWM is a tiny window manager that I created as an exercise in
minimalism. It is also maybe helpful in learning some of the very basics minimalism. It is also maybe helpful in learning some of the very basics
of creating a window manager. It is only around 50 lines of C. There is of creating a window manager. It is only around 50 lines of C. There is
@ -44,9 +57,9 @@ stdenv.mkDerivation rec {
keybinding in there somewhere) keybinding in there somewhere)
- Focus windows with the mouse pointer (X does this on its own) - Focus windows with the mouse pointer (X does this on its own)
''; '';
homepage = "http://incise.org/tinywm.html"; license = lib.licenses.publicDomain;
maintainers = with maintainers; [ AndersonTorres ]; mainProgram = "tinywm";
platforms = libX11.meta.platforms; maintainers = with lib.maintainers; [ AndersonTorres ];
license = licenses.publicDomain; inherit (libX11.meta) platforms;
}; };
} })

View file

@ -1,62 +1,65 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, pkg-config
, meson
, cmake , cmake
, ninja
, libxkbcommon
, wayland
, wayland-scanner
, wayland-protocols
, wlroots
, pixman
, udev
, libGL , libGL
, libxkbcommon
, libxml2 , libxml2
, mesa , mesa
, meson
, ninja
, pixman
, pkg-config
, udev
, wayland
, wayland-protocols
, wayland-scanner
, wlroots
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "waybox"; pname = "waybox";
version = "0.2.0"; version = "0.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wizbright"; owner = "wizbright";
repo = pname; repo = "waybox";
rev = version; rev = finalAttrs.version;
hash = "sha256-G8dRa4hgev3x58uqp5To5OzF3zcPSuT3NL9MPnWf2M8="; hash = "sha256-G8dRa4hgev3x58uqp5To5OzF3zcPSuT3NL9MPnWf2M8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config
meson
cmake cmake
meson
ninja ninja
pkg-config
wayland-scanner wayland-scanner
]; ];
dontUseCmakeConfigure = true;
buildInputs = [ buildInputs = [
libGL
libxkbcommon libxkbcommon
libxml2 libxml2
mesa # for libEGL
pixman
udev
wayland wayland
wayland-protocols wayland-protocols
wlroots wlroots
pixman
udev
libGL
mesa # for libEGL
]; ];
strictDeps = true;
dontUseCmakeConfigure = true;
passthru.providedSessions = [ "waybox" ]; passthru.providedSessions = [ "waybox" ];
meta = with lib; { meta = {
homepage = "https://github.com/wizbright/waybox"; homepage = "https://github.com/wizbright/waybox";
description = "An openbox clone on Wayland"; description = "An openbox clone on Wayland";
license = licenses.mit; license = lib.licenses.mit;
maintainers = with maintainers; [ AndersonTorres ]; mainProgram = "waybox";
platforms = platforms.linux; maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (wayland.meta) platforms;
}; };
} })

View file

@ -1,40 +1,63 @@
{ lib, stdenv, fetchurl { lib
, stdenv
, fetchurl
, installShellFiles
, lesstif , lesstif
, libX11, libXext, libXmu, libXinerama }: , libX11
, libXext
stdenv.mkDerivation rec { , libXinerama
, libXmu
}:
stdenv.mkDerivation (finalAttrs: {
pname = "yeahwm"; pname = "yeahwm";
version = "0.3.5"; version = "0.3.5";
src = fetchurl { src = fetchurl {
url = "http://phrat.de/${pname}_${version}.tar.gz"; url = "http://phrat.de/yeahwm_${finalAttrs.version}.tar.gz";
sha256 = "01gfzjvb40n16m2ja4238nk08k4l203y6a61cydqvf68924fjb69"; hash = "sha256-ySzpiEjIuI2bZ8Eo4wcQlEwEpkVDECVFNcECsrb87gU=";
}; };
buildInputs = [ lesstif libX11 libXext libXinerama libXmu ]; nativeBuildInputs = [
installShellFiles
];
dontConfigure = true; buildInputs = [
lesstif
libX11
libXext
libXinerama
libXmu
];
preBuild = '' strictDeps = true;
preBuild = let
includes = builtins.concatStringsSep " "
(builtins.map (l: "-I${lib.getDev l}/include")
finalAttrs.buildInputs);
ldpath = builtins.concatStringsSep " "
(builtins.map (l: "-L${lib.getLib l}/lib")
finalAttrs.buildInputs);
in ''
makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \ makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
XROOT="${libX11}" \ XROOT="${libX11}" \
INCLUDES="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXinerama.dev}/include -I${libXmu.dev}/include" \ INCLUDES="${includes}" \
LDPATH="-L${libX11}/lib -L${libXext}/lib -L${libXinerama}/lib -L${libXmu}/lib" \ LDPATH="${ldpath}" \
prefix="${placeholder "out"}" ) prefix="${placeholder "out"}" )
''; '';
# Workaround build failure on -fno-common toolchains like upstream # Workaround build failure on -fno-common toolchains like upstream gcc-10.
# gcc-10. Otherwise build fails as: # Otherwise build fails as:
# ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here # ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon"; env.NIX_CFLAGS_COMPILE = "-fcommon";
postInstall = '' postInstall = ''
gzip -9 --stdout yeahwm.1 > yeahwm.1.gz installManPage yeahwm.1
install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/
''; '';
meta = with lib;{ meta = {
homepage = "http://phrat.de/index.html";
description = "An X window manager based on evilwm and aewm"; description = "An X window manager based on evilwm and aewm";
longDescription = '' longDescription = ''
YeahWM is a h* window manager for X based on evilwm and aewm. YeahWM is a h* window manager for X based on evilwm and aewm.
@ -55,9 +78,10 @@ stdenv.mkDerivation rec {
- Little resource usage. - Little resource usage.
- It's slick. - It's slick.
''; '';
homepage = "http://phrat.de/index.html"; changelog = "http://phrat.de/README";
license = licenses.isc; license = lib.licenses.isc;
maintainers = [ maintainers.AndersonTorres ]; mainProgram = "yeahwm";
platforms = libX11.meta.platforms; maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (libX11.meta) platforms;
}; };
} })

View file

@ -89,7 +89,7 @@ in
then [ then [
./janestreet-0.15.patch ./janestreet-0.15.patch
] ]
else if version == "8.17.0+0.17.0" else if version == "8.16.0+0.16.3" || version == "8.17.0+0.17.0"
then [ then [
./janestreet-0.16.patch ./janestreet-0.16.patch
] ]

View file

@ -5,18 +5,18 @@
buildGoModule rec { buildGoModule rec {
pname = "cel-go"; pname = "cel-go";
version = "0.18.0"; version = "0.18.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google"; owner = "google";
repo = "cel-go"; repo = "cel-go";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-+YGRcTlPKTdecMicW4UjupSnuuq5msfGKTP/bwOf7dw="; hash = "sha256-eXltZkg5QjdCrL9sk2ngVtirSnjBBqk+OdNLY4QtVx4=";
}; };
modRoot = "repl"; modRoot = "repl";
vendorHash = "sha256-RSCZOR++WBoGffCQp114Sa1Dbms2tBa0xceVQ3skwR4="; vendorHash = "sha256-kalTHpyMYrKZHayxNKLc8vtogiDKyyQLExOQhqp1MUY=";
patches = [ patches = [
# repl/go.mod and repl/go.sum are outdated # repl/go.mod and repl/go.sum are outdated

View file

@ -1,12 +0,0 @@
diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
--- a/modules/bindings/glibc/linux.lisp 2008-10-10 16:15:49.000000000 +0300
+++ b/modules/bindings/glibc/linux.lisp 2012-12-04 01:01:35.000000000 +0200
@@ -86,7 +86,7 @@
(def-c-type __key_t) ; int
-(c-lines "#include <bits/ipctypes.h>~%")
+(c-lines "#include <sys/ipc.h>~%")
(def-c-type __ipc_pid_t) ; ushort
; --------------------------- <sys/types.h> -----------------------------------

View file

@ -3,10 +3,26 @@
# - base (default): contains readline and i18n, regexp and syscalls modules # - base (default): contains readline and i18n, regexp and syscalls modules
# by default # by default
# - full: contains base plus modules in withModules # - full: contains base plus modules in withModules
{ lib, stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11 { lib
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext , stdenv
, fetchFromGitLab
, autoconf269
, automake
, libtool
, libsigsegv
, gettext
, ncurses
, pcre
, zlib
, readline
, libffi , libffi
, libffcall , libffcall
, libX11
, libXau
, libXt
, libXpm
, libXext
, xorgproto
, coreutils , coreutils
# build options # build options
, threadSupport ? stdenv.hostPlatform.isx86 , threadSupport ? stdenv.hostPlatform.isx86
@ -16,26 +32,30 @@
"pcre" "pcre"
"rawsock" "rawsock"
] ]
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" "wildcard" ] ++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
++ lib.optional x11Support "clx/new-clx" ++ lib.optional x11Support "clx/new-clx"
}: }:
assert x11Support -> (libX11 != null && libXau != null && libXt != null assert x11Support -> (libX11 != null && libXau != null && libXt != null
&& libXpm != null && xorgproto != null && libXext != null); && libXpm != null && xorgproto != null && libXext != null);
stdenv.mkDerivation rec { let
version = "2.49"; ffcallAvailable = stdenv.isLinux && (libffcall != null);
in
stdenv.mkDerivation {
version = "2.50pre20230112";
pname = "clisp"; pname = "clisp";
src = fetchurl { src = fetchFromGitLab {
url = "mirror://gnu/clisp/release/${version}/clisp-${version}.tar.bz2"; owner = "gnu-clisp";
sha256 = "8132ff353afaa70e6b19367a25ae3d5a43627279c25647c220641fed00f8e890"; repo = "clisp";
rev = "bf72805c4dace982a6d3399ff4e7f7d5e77ab99a";
hash = "sha256-sQoN2FUg9BPaCgvCF91lFsU/zLja1NrgWsEIr2cPiqo=";
}; };
inherit libsigsegv gettext coreutils; strictDeps = true;
nativeBuildInputs = lib.optionals stdenv.isDarwin [ autoconf269 automake libtool ];
ffcallAvailable = stdenv.isLinux && (libffcall != null);
buildInputs = [libsigsegv] buildInputs = [libsigsegv]
++ lib.optional (gettext != null) gettext ++ lib.optional (gettext != null) gettext
++ lib.optional (ncurses != null) ncurses ++ lib.optional (ncurses != null) ncurses
@ -49,24 +69,28 @@ stdenv.mkDerivation rec {
]; ];
patches = [ patches = [
./bits_ipctypes_to_sys_ipc.patch # from Gentoo ./gnulib_aarch64.patch
# The cfree alias no longer exists since glibc 2.26
./remove-cfree-binding.patch
]; ];
# First, replace port 9090 (rather low, can be used) # First, replace port 9090 (rather low, can be used)
# with 64237 (much higher, IANA private area, not # with 64237 (much higher, IANA private area, not
# anything rememberable). # anything rememberable).
# Also remove reference to a type that disappeared from recent glibc
# (seems the correct thing to do, found no reference to any solution)
postPatch = '' postPatch = ''
sed -e 's@9090@64237@g' -i tests/socket.tst sed -e 's@9090@64237@g' -i tests/socket.tst
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
''; '';
preConfigure = lib.optionalString stdenv.isDarwin (''
cd src
autoreconf -f -i -I m4 -I glm4
cd -
'' + lib.concatMapStrings (x: ''
cd modules/${x}
autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4
cd -
'') withModules);
configureFlags = [ "builddir" ] configureFlags = [ "builddir" ]
++ lib.optional (!dllSupport) "--without-dynamic-modules" ++ lib.optional (!dllSupport) "--without-dynamic-modules"
++ lib.optional (readline != null) "--with-readline" ++ lib.optional (readline != null) "--with-readline"
@ -74,35 +98,27 @@ stdenv.mkDerivation rec {
++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi" ++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi"
++ lib.optional ffcallAvailable "--with-ffcall" ++ lib.optional ffcallAvailable "--with-ffcall"
++ lib.optional (!ffcallAvailable) "--without-ffcall" ++ lib.optional (!ffcallAvailable) "--without-ffcall"
++ builtins.map (x: "--with-module=" + x) withModules ++ builtins.map (x: " --with-module=" + x) withModules
++ lib.optional threadSupport "--with-threads=POSIX_THREADS"; ++ lib.optional threadSupport "--with-threads=POSIX_THREADS";
preBuild = '' preBuild = ''
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
sed -i -re '/ cfree /d' -i modules/bindings/glibc/linux.lisp
cd builddir cd builddir
''; '';
# Fails to build in parallel due to missing gnulib header dependency used in charstrg.d:
# ../src/charstrg.d:319:10: fatal error: uniwidth.h: No such file or directory
enableParallelBuilding = false;
postInstall = postInstall =
lib.optionalString (withModules != []) lib.optionalString (withModules != [])
(''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full'' (''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
+ lib.concatMapStrings (x: " " + x) withModules); + lib.concatMapStrings (x: " " + x) withModules);
env.NIX_CFLAGS_COMPILE = "-O0 ${lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}"; env.NIX_CFLAGS_COMPILE = "-O0 -falign-functions=${if stdenv.is64bit then "8" else "4"}";
# TODO : make mod-check fails
doCheck = false;
meta = { meta = {
description = "ANSI Common Lisp Implementation"; description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org"; homepage = "http://clisp.org";
maintainers = lib.teams.lisp.members; maintainers = lib.teams.lisp.members;
platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus;
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 platforms = with lib.platforms; linux ++ darwin;
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;
license = lib.licenses.gpl2;
}; };
} }

View file

@ -0,0 +1,13 @@
diff --git a/src/gllib/vma-iter.c b/src/gllib/vma-iter.c
index 6045f21d7..d50a3a398 100644
--- a/src/gllib/vma-iter.c
+++ b/src/gllib/vma-iter.c
@@ -1327,7 +1327,7 @@ vma_iterate (vma_iterate_callback_fn callback, void *data)
In 64-bit processes, we could use vm_region_64 or mach_vm_region.
I choose vm_region_64 because it uses the same types as vm_region,
resulting in less conditional code. */
-# if defined __ppc64__ || defined __x86_64__
+# if defined __aarch64__ || defined __ppc64__ || defined __x86_64__
struct vm_region_basic_info_64 info;
mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT_64;

View file

@ -1,98 +0,0 @@
# there are the following linking sets:
# - boot (not installed): without modules, only used when building clisp
# - base (default): contains readline and i18n, regexp and syscalls modules
# by default
# - full: contains base plus modules in withModules
{ lib, stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext
, libffi, libffcall, automake
, coreutils
# build options
, threadSupport ? stdenv.hostPlatform.isx86
, x11Support ? stdenv.hostPlatform.isx86
, dllSupport ? true
, withModules ? [
"pcre"
"rawsock"
]
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
++ lib.optional x11Support "clx/new-clx"
}:
assert x11Support -> (libX11 != null && libXau != null && libXt != null
&& libXpm != null && xorgproto != null && libXext != null);
stdenv.mkDerivation rec {
version = "2.50pre20171114";
pname = "clisp";
src = fetchhg {
url = "http://hg.code.sf.net/p/clisp/clisp";
rev = "36df6dc59b8f";
sha256 = "1pidiv1m55lvc4ln8vx0ylnnhlj95y6hrfdq96nrj14f4v8fkvmr";
};
inherit libsigsegv gettext coreutils;
ffcallAvailable = stdenv.isLinux && (libffcall != null);
nativeBuildInputs = [ automake ]; # sometimes fails otherwise
buildInputs = [libsigsegv]
++ lib.optional (gettext != null) gettext
++ lib.optional (ncurses != null) ncurses
++ lib.optional (pcre != null) pcre
++ lib.optional (zlib != null) zlib
++ lib.optional (readline != null) readline
++ lib.optional (ffcallAvailable && (libffi != null)) libffi
++ lib.optional ffcallAvailable libffcall
++ lib.optionals x11Support [
libX11 libXau libXt libXpm xorgproto libXext
];
# First, replace port 9090 (rather low, can be used)
# with 64237 (much higher, IANA private area, not
# anything rememberable).
# Also remove reference to a type that disappeared from recent glibc
# (seems the correct thing to do, found no reference to any solution)
postPatch = ''
sed -e 's@9090@64237@g' -i tests/socket.tst
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
'';
configureFlags = [ "builddir" ]
++ lib.optional (!dllSupport) "--without-dynamic-modules"
++ lib.optional (readline != null) "--with-readline"
# --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise
++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi"
++ lib.optional ffcallAvailable "--with-ffcall"
++ lib.optional (!ffcallAvailable) "--without-ffcall"
++ builtins.map (x: " --with-module=" + x) withModules
++ lib.optional threadSupport "--with-threads=POSIX_THREADS";
preBuild = ''
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
sed -i -re '/ cfree /d' -i modules/bindings/glibc/linux.lisp
cd builddir
'';
postInstall =
lib.optionalString (withModules != [])
(''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
+ lib.concatMapStrings (x: " " + x) withModules);
env.NIX_CFLAGS_COMPILE = "-O0 ${lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}";
# TODO : make mod-check fails
doCheck = false;
meta = {
description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org";
maintainers = lib.teams.lisp.members;
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
platforms = lib.platforms.linux;
};
}

View file

@ -1,12 +0,0 @@
diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
index c40b4f8..1c8edca 100644
--- a/modules/bindings/glibc/linux.lisp
+++ b/modules/bindings/glibc/linux.lisp
@@ -648,7 +648,6 @@
(def-call-out calloc (:arguments (nmemb size_t) (size size_t))
(:return-type c-pointer))
(def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
-(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
(def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
(def-call-out abort (:arguments) (:return-type nil))

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "micropython"; pname = "micropython";
version = "1.19.1"; version = "1.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "micropython"; owner = "micropython";
repo = "micropython"; repo = "micropython";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-BoX3Z3Zr/AQqkgRrq+UVgdoDqNESDTNsY9AtrElpzfA="; sha256 = "sha256-XTkw0M2an13xlRlDusyHYqwNeHqhq4mryRC5/pk+5Ko=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
skippedTests = "" skippedTests = ""
+ lib.optionalString (stdenv.isDarwin) " -e uasyncio_basic -e uasyncio_heaplock -e uasyncio_wait_task"
+ lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback" + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
+ lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse" + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
; ;
@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin mkdir -p $out/bin
install -Dm755 ports/unix/micropython -t $out/bin install -Dm755 ports/unix/build-standard/micropython -t $out/bin
runHook postInstall runHook postInstall
''; '';

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cyclonedds"; pname = "cyclonedds";
version = "0.10.3"; version = "0.10.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eclipse-cyclonedds"; owner = "eclipse-cyclonedds";
repo = "cyclonedds"; repo = "cyclonedds";
rev = version; rev = version;
sha256 = "sha256-Ie2l2TwEXqhMZWL3CmQD+c8LdQlclP6egsP7jnsOAlM="; sha256 = "sha256-LSCfQPyd/QOsrnLNbKb0OlCvmHi/2aDDhi8VeXpYb1w=";
}; };
patches = [ patches = [

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtkmm"; pname = "gtkmm";
version = "3.24.7"; version = "3.24.8";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "HXo1r5xc7MrLJE7jwt65skVyDYUQrFx+b0tvmUfmeJw="; sha256 = "0pQMZJIuW5WFVLI9TEHRg56p5D4NLls4Gc+0aCSgmMQ=";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View file

@ -1,31 +1,39 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }: { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, testers }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "libfyaml"; pname = "libfyaml";
version = "0.8"; version = "0.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pantoniou"; owner = "pantoniou";
repo = pname; repo = "libfyaml";
rev = "v${version}"; rev = "v${finalAttrs.version}";
hash = "sha256-b/jRKe23NIVSydoczI+Ax2VjBJLfAEwF8SW61vIDTwA="; hash = "sha256-Id5pdFzjA9q67okfESO3LZH8jIz93mVgIEEuBbPjuGI=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];
outputs = [ "bin" "dev" "out" "man" ]; outputs = [ "bin" "dev" "out" "man" ];
configureFlags = [ "--disable-network" ];
doCheck = true; doCheck = true;
preCheck = '' preCheck = ''
patchShebangs test patchShebangs test
''; '';
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
};
meta = with lib; { meta = with lib; {
homepage = "https://github.com/pantoniou/libfyaml";
description = "Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the full YAML testsuite"; description = "Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the full YAML testsuite";
homepage = "https://github.com/pantoniou/libfyaml";
changelog = "https://github.com/pantoniou/libfyaml/releases/tag/v${finalAttrs.version}";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.marsam ]; maintainers = [ maintainers.marsam ];
pkgConfigModules = [ "libfyaml" ];
platforms = platforms.all; platforms = platforms.all;
}; };
} })

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libite"; pname = "libite";
version = "2.5.3"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "troglobit"; owner = "troglobit";
repo = "libite"; repo = "libite";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-orxmd6yItB6XLj650RQb0CP/EnN9563v+P9xz9LEJkY="; sha256 = "sha256-hdV8g/BFTI/QfEgVsf942SR0G5xdqP/+h+vnydt4kf0=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "liblouis"; pname = "liblouis";
version = "3.26.0"; version = "3.27.0";
outputs = [ "out" "dev" "info" "doc" ] outputs = [ "out" "dev" "info" "doc" ]
# configure: WARNING: cannot generate manual pages while cross compiling # configure: WARNING: cannot generate manual pages while cross compiling
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "liblouis"; owner = "liblouis";
repo = "liblouis"; repo = "liblouis";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-Kko9qBWdNiZ61Wbb7lUYoSNU1hhRUexPcU3pADv0UHo="; hash = "sha256-5umpIscs4Y8MSaoY7yKtBFmlIa8QDQtjBxoysZ+GTm8=";
}; };
strictDeps = true; strictDeps = true;

View file

@ -16,14 +16,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.7.24"; version = "0.7.25";
pname = "libsolv"; pname = "libsolv";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openSUSE"; owner = "openSUSE";
repo = "libsolv"; repo = "libsolv";
rev = version; rev = version;
sha256 = "sha256-UTVnGJO/9mQF9RwK75hh6IkoP1MwAlFaLCtdYU8uS34="; sha256 = "sha256-OSYfv8dTyoa2f1T/zCEruKczickP5jS05xjYLQQiFaY=";
}; };
cmakeFlags = [ cmakeFlags = [

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nghttp3"; pname = "nghttp3";
version = "0.14.0"; version = "0.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ngtcp2"; owner = "ngtcp2";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-DqqT8rgGlbV0upe0E37AR8bk3SIsoyCXt8xJzIkz9xc="; hash = "sha256-ZnfwPgjBAI2elHrx7uzc3JX2MdeX/hsrFKj4TfMK2tI=";
}; };
outputs = [ "out" "dev" "doc" ]; outputs = [ "out" "dev" "doc" ];

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "opensubdiv"; pname = "opensubdiv";
version = "3.5.0"; version = "3.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PixarAnimationStudios"; owner = "PixarAnimationStudios";
repo = "OpenSubdiv"; repo = "OpenSubdiv";
rev = "v${lib.replaceStrings ["."] ["_"] version}"; rev = "v${lib.replaceStrings ["."] ["_"] version}";
sha256 = "sha256-pYD2HxAszE9Ux1xsSJ7s2R13U8ct5tDo3ZP7H0+F9Rc="; sha256 = "sha256-uDKCT0Uoa5WQekMUFm2iZmzm+oWAZ6IWMwfpchkUZY0=";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View file

@ -1,23 +1,16 @@
{ stdenv, lib, fetchFromGitHub, cmake, fetchpatch }: { lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pe-parse"; pname = "pe-parse";
version = "2.0.0"; version = "2.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "trailofbits"; owner = "trailofbits";
repo = "pe-parse"; repo = "pe-parse";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k="; hash = "sha256-XegSZWRoQg6NEWuTSFI1RMvN3GbpLDrZrloPU2XdK2M=";
}; };
patches = [
(fetchpatch {
url = "https://github.com/trailofbits/pe-parse/commit/eecdb3d36eb44e306398a2e66e85490f9bdcc74c.patch";
hash = "sha256-pd6D/JMctiQqJxnJU9Nm/GDVf4/CaIGeXx1UfdcCupo=";
})
];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
doInstallCheck = true; doInstallCheck = true;
@ -28,6 +21,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A principled, lightweight parser for Windows portable executable files"; description = "A principled, lightweight parser for Windows portable executable files";
homepage = "https://github.com/trailofbits/pe-parse"; homepage = "https://github.com/trailofbits/pe-parse";
changelog = "https://github.com/trailofbits/pe-parse/releases/tag/v${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ arturcygan ]; maintainers = with maintainers; [ arturcygan ];
mainProgram = "dump-pe"; mainProgram = "dump-pe";

View file

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "stellarsolver"; pname = "stellarsolver";
version = "2.4"; version = "2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rlancaste"; owner = "rlancaste";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-HYNkpgkiRtA1ZsiFkmYk3MT3fKgs2d2neSExVXBbsPc="; sha256 = "sha256-0bFGHlkZnAZlnxlj8tY3s9yTWgkNtSsPFfudB3uvyOA=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -103,6 +103,7 @@ mapAliases {
parcel-bundler = parcel; # added 2023-09-04 parcel-bundler = parcel; # added 2023-09-04
prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14 prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
inherit (pkgs) quicktype; # added 2023-09-09 inherit (pkgs) quicktype; # added 2023-09-09
react-native-cli = throw "react-native-cli was removed because it was deprecated"; # added 2023-09-25
inherit (pkgs) react-static; # added 2023-08-21 inherit (pkgs) react-static; # added 2023-08-21
readability-cli = pkgs.readability-cli; # Added 2023-06-12 readability-cli = pkgs.readability-cli; # Added 2023-06-12
inherit (pkgs) redoc-cli; # added 2023-09-12 inherit (pkgs) redoc-cli; # added 2023-09-12

View file

@ -52,7 +52,6 @@
prettier = "prettier"; prettier = "prettier";
purescript-psa = "psa"; purescript-psa = "psa";
purs-tidy = "purs-tidy"; purs-tidy = "purs-tidy";
react-native-cli = "react-native";
react-tools = "jsx"; react-tools = "jsx";
remod-cli = "remod"; remod-cli = "remod";
svelte-language-server = "svelteserver"; svelte-language-server = "svelteserver";

View file

@ -191,6 +191,7 @@
, "patch-package" , "patch-package"
, "peerflix" , "peerflix"
, "peerflix-server" , "peerflix-server"
, {"pgrok-build-deps": "../../tools/networking/pgrok/build-deps"}
, "pkg" , "pkg"
, "pm2" , "pm2"
, "pnpm" , "pnpm"
@ -210,7 +211,6 @@
, "purty" , "purty"
, "pxder" , "pxder"
, "pyright" , "pyright"
, "react-native-cli"
, "react-tools" , "react-tools"
, "remod-cli" , "remod-cli"
, "reveal.js" , "reveal.js"

File diff suppressed because it is too large Load diff

View file

@ -2,16 +2,15 @@
buildDunePackage rec { buildDunePackage rec {
pname = "qcheck-core"; pname = "qcheck-core";
version = "0.20"; version = "0.21.2";
minimalOCamlVersion = "4.08"; minimalOCamlVersion = "4.08";
duneVersion = "3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "c-cube"; owner = "c-cube";
repo = "qcheck"; repo = "qcheck";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-d3gleiaPEDJTbHtieL4oAq1NlA/0NtzdW9SA1sItFeQ="; hash = "sha256-a+sjpvpQZbXjQgyx69hhVAmRCfDMMhFlg965dK5UN6Q=";
}; };
patches = [ ./bytes.patch ]; patches = [ ./bytes.patch ];

View file

@ -2,13 +2,13 @@
buildPecl rec { buildPecl rec {
pname = "phalcon"; pname = "phalcon";
version = "5.3.0"; version = "5.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phalcon"; owner = "phalcon";
repo = "cphalcon"; repo = "cphalcon";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-82DJ+Qx0OYhw9Nv6FkAoyBec8WWfAiqNfBU9Ll/8RfA="; hash = "sha256-FxGibpGlbNLqWDplCv4T4yUPg5US020niLfC7tHfkCU=";
}; };
internalDeps = [ php.extensions.session php.extensions.pdo ]; internalDeps = [ php.extensions.session php.extensions.pdo ];

View file

@ -7,14 +7,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aliyun-python-sdk-iot"; pname = "aliyun-python-sdk-iot";
version = "8.56.0"; version = "8.57.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-8d77P522c6gV8LhKErixzE2DvGmjr9bms+2eHYirgwg="; hash = "sha256-Ea0IUn2mlu0c7QYJZkUrBUrtjUuTHoTeuvZHw/il+4A=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "app-model"; pname = "app-model";
version = "0.2.1"; version = "0.2.2";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "pyapp-kit"; owner = "pyapp-kit";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-1LldqihVCCgFdnsod751zWAAqkaaIH2qMpfsPYjWzgs="; hash = "sha256-vo10BHUzvYlldAqTw/1LxgvSXgTM3LAls9jQIeB5LcU=";
}; };
SETUPTOOLS_SCM_PRETEND_VERSION = version; SETUPTOOLS_SCM_PRETEND_VERSION = version;

View file

@ -10,13 +10,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "async-tkinter-loop"; pname = "async-tkinter-loop";
version = "0.8.1"; version = "0.9.1";
format = "pyproject"; format = "pyproject";
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "async_tkinter_loop"; pname = "async_tkinter_loop";
hash = "sha256-+9AvnYIZMWCbpCEKdbIadyU8zgyUlW/fRYYyDOxAzeg="; hash = "sha256-Phxx9RovjU5JOonMt7Zhum0/BGRS5OLRAkLTl4L/BW4=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -48,7 +48,7 @@ buildPythonPackage rec {
homepage = "https://aws-encryption-sdk-python.readthedocs.io/"; homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst"; changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
description = "Fully compliant, native Python implementation of the AWS Encryption SDK."; description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
license = licenses.apsl20; license = licenses.asl20;
maintainers = with maintainers; [ anthonyroussel ]; maintainers = with maintainers; [ anthonyroussel ];
}; };
} }

View file

@ -23,7 +23,7 @@ buildPythonPackage rec {
homepage = "https://base64io-python.readthedocs.io/"; homepage = "https://base64io-python.readthedocs.io/";
changelog = "https://github.com/aws/base64io-python/blob/${version}/CHANGELOG.rst"; changelog = "https://github.com/aws/base64io-python/blob/${version}/CHANGELOG.rst";
description = "Python stream implementation for base64 encoding/decoding"; description = "Python stream implementation for base64 encoding/decoding";
license = licenses.apsl20; license = licenses.asl20;
maintainers = with maintainers; [ anthonyroussel ]; maintainers = with maintainers; [ anthonyroussel ];
}; };
} }

View file

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bluetooth-data-tools"; pname = "bluetooth-data-tools";
version = "1.11.0"; version = "1.12.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-iyfk0OOJezNCNyqRCbR2cTTTdgdYQM6hExTngd/3CtA="; hash = "sha256-zdMqjZ7CEwDnvVvIe1breQ+/4ZwzdLk2CtI+GCY+3uk=";
}; };
# The project can build both an optimized cython version and an unoptimized # The project can build both an optimized cython version and an unoptimized

View file

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "clarifai-grpc"; pname = "clarifai-grpc";
version = "9.8.0"; version = "9.8.4";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-hUx+dUx0Lkz6sEZizHqH8ONk2r19D9MIVuefhBmjEiQ="; hash = "sha256-j+dtcNInkTcgcLt6IOjqVeI/qSczRNs9PhS9iPoUF+c=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "dbus-fast"; pname = "dbus-fast";
version = "2.9.0"; version = "2.10.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-0+uWnm0gygDL4sc2b+3dekgZfgAQZKfmJRMSDgyeMjk="; hash = "sha256-GWRtk3MF6QdSOWmKWcdhTitutLkRoMsU+l+LGEefBEo=";
}; };
# The project can build both an optimized cython version and an unoptimized # The project can build both an optimized cython version and an unoptimized

View file

@ -1,18 +1,23 @@
{ lib { stdenv
, lib
, buildPythonPackage , buildPythonPackage
, django , django
, netaddr , netaddr
, six , six
, fetchFromGitHub , fetchFromGitHub
, pythonOlder , pythonOlder
, djangorestframework
# required for tests # required for tests
#, djangorestframework , postgresql
#, psycopg2 , postgresqlTestHook
, psycopg2
, pytestCheckHook
, pytest-django
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "django-postgresql-netfields"; pname = "django-postgresql-netfields";
version = "1.3.0"; version = "1.3.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -21,7 +26,7 @@ buildPythonPackage rec {
owner = "jimfunk"; owner = "jimfunk";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-I+X4yfadtiiZlW7QhfwVbK1qyWn/khH9fWXszCo9uro="; hash = "sha256-76vGvxxfNZQBCCsTkkSgQZ8PpFspWxJQDj/xq9iOSTU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -30,23 +35,19 @@ buildPythonPackage rec {
six six
]; ];
# tests need a postgres database doCheck = !stdenv.isDarwin; # could not create shared memory segment: Operation not permitted
doCheck = false;
# keeping the dependencies below as comment for reference nativeCheckInputs = [
# checkPhase = '' djangorestframework
# python manage.py test postgresql
# ''; postgresqlTestHook
psycopg2
pytestCheckHook
pytest-django
];
# buildInputs = [ postgresqlTestUserOptions = "LOGIN SUPERUSER";
# djangorestframework env.DJANGO_SETTINGS_MODULE = "testsettings";
# psycopg2
# ];
# Requires psycopg2
# pythonImportsCheck = [
# "netfields"
# ];
meta = with lib; { meta = with lib; {
description = "Django PostgreSQL netfields implementation"; description = "Django PostgreSQL netfields implementation";

View file

@ -9,14 +9,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "django-treebeard"; pname = "django-treebeard";
version = "4.6.1"; version = "4.7";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-hKs1BAJ31STrd5OeI1VoychWy1I8yWVXk7Zv6aPvRos="; hash = "sha256-x1Gj+SQVjCiP6omvwlpxUZefrwG/Ef3HvjuFgJnfpW0=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -6,14 +6,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "drf-spectacular-sidecar"; pname = "drf-spectacular-sidecar";
version = "2023.3.1"; version = "2023.9.1";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tfranzel"; owner = "tfranzel";
repo = "drf-spectacular-sidecar"; repo = "drf-spectacular-sidecar";
rev = version; rev = version;
hash = "sha256-UTH6t/znN4nYnqDhtFFxXoBXX8Zo19pJE9iDsvw7bGE="; hash = "sha256-EoQKbxzXEuKC50/W1/tBB2wASJZmNNwg9r1qhIB4Ws8=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "garth"; pname = "garth";
version = "0.4.26"; version = "0.4.27";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-Ezq9lZE6HTtuW396sKZ32mDvNjrkz6UHQGvLhXUjfnI="; hash = "sha256-GOpYR1fudDKHbnxwAMCXrk95xYe0Pdi7pYebHua+IjM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

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