Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2019-08-09 14:01:00 +02:00
commit 5bc501b7aa
595 changed files with 11993 additions and 5962 deletions

View File

@ -124,3 +124,21 @@ in another file (say `default.nix`) to be able to build it with
```
$ nix-build -A yaml
```
## Passing options to `idris` commands
The `build-idris-package` function provides also optional input values to set additional options for the used `idris` commands.
Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstallOptions` and `idrisDocOptions` to provide additional options to the `idris` command respectively when building, testing, installing and generating docs for your package.
For example you could set
```
build-idris-package {
idrisBuildOptions = [ "--log" "1" "--verbose" ]
...
}
```
to require verbose output during `idris` build phase.

View File

@ -1083,6 +1083,11 @@
github = "codyopel";
name = "Cody Opel";
};
cohencyril = {
email = "cyril.cohen@inria.fr";
github = "CohenCyril";
name = "Cyril Cohen";
};
colemickens = {
email = "cole.mickens@gmail.com";
github = "colemickens";
@ -1698,6 +1703,11 @@
fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F";
}];
};
evanjs = {
email = "evanjsx@gmail.com";
github = "evanjs";
name = "Evan Stoll";
};
evck = {
email = "eric@evenchick.com";
github = "ericevenchick";
@ -5599,6 +5609,11 @@
github = "viric";
name = "Lluís Batlle i Rossell";
};
virusdave = {
email = "dave.nicponski@gmail.com";
github = "virusdave";
name = "Dave Nicponski";
};
vizanto = {
email = "danny@prime.vc";
github = "vizanto";

View File

@ -67,7 +67,7 @@ rec {
in
{ key = "ip-address";
config =
{ networking.hostName = m.fst;
{ networking.hostName = mkDefault m.fst;
networking.interfaces = listToAttrs interfaces;

View File

@ -0,0 +1,90 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.services.zfs.autoReplication;
recursive = optionalString cfg.recursive " --recursive";
followDelete = optionalString cfg.followDelete " --follow-delete";
in {
options = {
services.zfs.autoReplication = {
enable = mkEnableOption "ZFS snapshot replication.";
followDelete = mkOption {
description = "Remove remote snapshots that don't have a local correspondant.";
default = true;
type = types.bool;
};
host = mkOption {
description = "Remote host where snapshots should be sent.";
example = "example.com";
type = types.str;
};
identityFilePath = mkOption {
description = "Path to SSH key used to login to host.";
example = "/home/username/.ssh/id_rsa";
type = types.path;
};
localFilesystem = mkOption {
description = "Local ZFS fileystem from which snapshots should be sent. Defaults to the attribute name.";
example = "pool/file/path";
type = types.str;
};
remoteFilesystem = mkOption {
description = "Remote ZFS filesystem where snapshots should be sent.";
example = "pool/file/path";
type = types.str;
};
recursive = mkOption {
description = "Recursively discover snapshots to send.";
default = true;
type = types.bool;
};
username = mkOption {
description = "Username used by SSH to login to remote host.";
example = "username";
type = types.str;
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
pkgs.lz4
];
systemd.services."zfs-replication" = {
after = [
"zfs-snapshot-daily.service"
"zfs-snapshot-frequent.service"
"zfs-snapshot-hourly.service"
"zfs-snapshot-monthly.service"
"zfs-snapshot-weekly.service"
];
description = "ZFS Snapshot Replication";
documentation = [
"https://github.com/alunduil/zfs-replicate"
];
restartIfChanged = false;
serviceConfig.ExecStart = "${pkgs.zfs-replicate}/bin/zfs-replicate${recursive} -l ${escapeShellArg cfg.username} -i ${escapeShellArg cfg.identityFilePath}${followDelete} ${escapeShellArg cfg.host} ${escapeShellArg cfg.remoteFilesystem} ${escapeShellArg cfg.localFilesystem}";
wantedBy = [
"zfs-snapshot-daily.service"
"zfs-snapshot-frequent.service"
"zfs-snapshot-hourly.service"
"zfs-snapshot-monthly.service"
"zfs-snapshot-weekly.service"
];
};
};
meta = {
maintainers = with lib.maintainers; [ alunduil ];
};
}

View File

@ -251,6 +251,10 @@ in
environment.systemPackages = [ postgresql ];
environment.pathsToLink = [
"/share/postgresql"
];
systemd.services.postgresql =
{ description = "PostgreSQL Server";

View File

@ -9,6 +9,20 @@ let
in {
options.services.bloop = {
extraOptions = mkOption {
type = types.listOf types.str;
default = [ ];
example = [
"-J-Xmx2G"
"-J-XX:MaxInlineLevel=20"
"-J-XX:+UseParallelGC"
];
description = ''
Specifies additional command line argument to pass to bloop
java process.
'';
};
install = mkOption {
type = types.bool;
default = false;
@ -25,10 +39,13 @@ in {
systemd.user.services.bloop = {
description = "Bloop Scala build server";
environment = {
PATH = mkForce "${makeBinPath [ config.programs.java.package ]}";
};
serviceConfig = {
Type = "simple";
ExecStart = ''${pkgs.bloop}/bin/blp-server'';
Restart = "always";
Type = "simple";
ExecStart = ''${pkgs.bloop}/bin/bloop server'';
Restart = "always";
};
};

View File

@ -8,6 +8,12 @@ in {
options = {
services.throttled = {
enable = mkEnableOption "fix for Intel CPU throttling";
extraConfig = mkOption {
type = types.str;
default = "";
description = "Alternative configuration";
};
};
};
@ -16,6 +22,9 @@ in {
# The upstream package has this in Install, but that's not enough, see the NixOS manual
systemd.services."lenovo_fix".wantedBy = [ "multi-user.target" ];
environment.etc."lenovo_fix.conf".source = "${pkgs.throttled}/etc/lenovo_fix.conf";
environment.etc."lenovo_fix.conf".source =
if cfg.extraConfig != ""
then pkgs.writeText "lenovo_fix.conf" cfg.extraConfig
else "${pkgs.throttled}/etc/lenovo_fix.conf";
};
}

View File

@ -143,21 +143,37 @@ in
users.users.${cfg.user} = {
description = "Gitolite user";
home = cfg.dataDir;
createHome = true;
uid = config.ids.uids.gitolite;
group = cfg.group;
useDefaultShell = true;
};
users.groups."${cfg.group}".gid = config.ids.gids.gitolite;
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0750 ${cfg.user} ${cfg.group} - -"
"d '${cfg.dataDir}'/.gitolite - ${cfg.user} ${cfg.group} - -"
"d '${cfg.dataDir}'/.gitolite/logs - ${cfg.user} ${cfg.group} - -"
"Z ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -"
];
systemd.services."gitolite-init" = {
description = "Gitolite initialization";
wantedBy = [ "multi-user.target" ];
unitConfig.RequiresMountsFor = cfg.dataDir;
serviceConfig.User = "${cfg.user}";
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
environment = {
GITOLITE_RC = ".gitolite.rc";
GITOLITE_RC_DEFAULT = "${rcDir}/gitolite.rc.default";
};
serviceConfig = {
Type = "oneshot";
User = cfg.user;
Group = cfg.group;
WorkingDirectory = "~";
RemainAfterExit = true;
};
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.diffutils config.programs.ssh.package ];
script =
@ -187,11 +203,6 @@ in
'';
in
''
cd ${cfg.dataDir}
mkdir -p .gitolite/logs
GITOLITE_RC=.gitolite.rc
GITOLITE_RC_DEFAULT=${rcDir}/gitolite.rc.default
if ( [[ ! -e "$GITOLITE_RC" ]] && [[ ! -L "$GITOLITE_RC" ]] ) ||
( [[ -f "$GITOLITE_RC" ]] && diff -q "$GITOLITE_RC" "$GITOLITE_RC_DEFAULT" >/dev/null ) ||
( [[ -L "$GITOLITE_RC" ]] && [[ "$(readlink "$GITOLITE_RC")" =~ ^/nix/store/ ]] )

View File

@ -34,6 +34,14 @@ in {
<literal>allowed_ip_1</literal> and so on.
'';
};
withRemoteIp = mkOption {
type = types.bool;
default = false;
description = ''
Whether or not the remote IP of a WireGuard peer should be exposed via prometheus.
'';
};
};
serviceOpts = {
path = [ pkgs.wireguard-tools ];
@ -45,6 +53,7 @@ in {
-p ${toString cfg.port} \
${optionalString cfg.verbose "-v"} \
${optionalString cfg.singleSubnetPerField "-s"} \
${optionalString cfg.withRemoteIp "-r"} \
${optionalString (cfg.wireguardConfig != null) "-n ${cfg.wireguardConfig}"}
'';
};

View File

@ -148,7 +148,7 @@ in
systemd.tmpfiles.rules = [
"e '${stateDir}' 0700 unifi - - -"
"e '${stateDir}/data' 0700 unifi - - -"
"d '${stateDir}/data' 0700 unifi - - -"
];
systemd.services.unifi = {

View File

@ -20,7 +20,7 @@ in
imports = [
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix ./pantheon.nix
./mate.nix ./pantheon.nix ./surf-display.nix
];
options = {

View File

@ -102,6 +102,10 @@ in
# Makes qt applications look less alien
export QT_QPA_PLATFORMTHEME=gtk3
export QT_STYLE_OVERRIDE=adwaita
# Settings from elementary-default-settings
export GTK_CSD=1
export GTK_MODULES=$GTK_MODULES:pantheon-filechooser-module
fi
'';

View File

@ -178,7 +178,7 @@ in
++ lib.optional (cfg.phononBackend == "vlc" && cfg.enableQt4Support) pkgs.phonon-backend-vlc
# Optional hardware support features
++ lib.optional config.hardware.bluetooth.enable bluedevil
++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ]
++ lib.optional config.networking.networkmanager.enable plasma-nm
++ lib.optional config.hardware.pulseaudio.enable plasma-pa
++ lib.optional config.powerManagement.enable powerdevil

View File

@ -0,0 +1,127 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.desktopManager.surf-display;
surfDisplayConf = ''
# Surf Kiosk Display: Wrap around surf browser and turn your
# system into a browser screen in KIOSK-mode.
# default download URI for all display screens if not configured individually
DEFAULT_WWW_URI="${cfg.defaultWwwUri}"
# Enforce fixed resolution for all displays (default: not set):
#DEFAULT_RESOLUTION="1920x1080"
# HTTP proxy URL, if needed (default: not set).
#HTTP_PROXY_URL="http://webcache:3128"
# Setting for internal inactivity timer to restart surf-display
# if the user goes inactive/idle.
INACTIVITY_INTERVAL="${builtins.toString cfg.inactivityInterval}"
# log to syslog instead of .xsession-errors
LOG_TO_SYSLOG="yes"
# Launch pulseaudio daemon if not already running.
WITH_PULSEAUDIO="yes"
# screensaver settings, see "man 1 xset" for possible options
SCREENSAVER_SETTINGS="${cfg.screensaverSettings}"
# disable right and middle pointer device click in browser sessions while keeping
# scrolling wheels' functionality intact... (consider "pointer" subcommand on
# xmodmap man page for details).
POINTER_BUTTON_MAP="${cfg.pointerButtonMap}"
# Hide idle mouse pointer.
HIDE_IDLE_POINTER="${cfg.hideIdlePointer}"
${cfg.extraConfig}
'';
in {
options = {
services.xserver.desktopManager.surf-display = {
enable = mkEnableOption "surf-display as a kiosk browser session";
defaultWwwUri = mkOption {
type = types.string;
default = "${pkgs.surf-display}/share/surf-display/empty-page.html";
example = "https://www.example.com/";
description = "Default URI to display.";
};
inactivityInterval = mkOption {
type = types.int;
default = 300;
example = "0";
description = ''
Setting for internal inactivity timer to restart surf-display if the
user goes inactive/idle to get a fresh session for the next user of
the kiosk.
If this value is set to zero, the whole feature of restarting due to
inactivity is disabled.
'';
};
screensaverSettings = mkOption {
type = types.string;
default = "";
description = ''
Screensaver settings, see <literal>man 1 xset</literal> for possible options.
'';
};
pointerButtonMap = mkOption {
type = types.string;
default = "1 0 0 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
description = ''
Disable right and middle pointer device click in browser sessions
while keeping scrolling wheels' functionality intact. See pointer
subcommand on <literal>man xmodmap</literal> for details.
'';
};
hideIdlePointer = mkOption {
type = types.string;
default = "yes";
example = "no";
description = "Hide idle mouse pointer.";
};
extraConfig = mkOption {
type = types.string;
default = "";
example = ''
# Enforce fixed resolution for all displays (default: not set):
DEFAULT_RESOLUTION="1920x1080"
# HTTP proxy URL, if needed (default: not set).
HTTP_PROXY_URL="http://webcache:3128"
# Configure individual display screens with host specific parameters:
DISPLAYS['display-host-0']="www_uri=https://www.displayserver.comany.net/display-1/index.html"
DISPLAYS['display-host-1']="www_uri=https://www.displayserver.comany.net/display-2/index.html"
DISPLAYS['display-host-2']="www_uri=https://www.displayserver.comany.net/display-3/index.html|res=1920x1280"
DISPLAYS['display-host-3']="www_uri=https://www.displayserver.comany.net/display-4/index.html"|res=1280x1024"
DISPLAYS['display-host-local-file']="www_uri=file:///usr/share/doc/surf-display/empty-page.html"
'';
description = ''
Extra configuration options to append to <literal>/etc/default/surf-display</literal>.
'';
};
};
};
config = mkIf cfg.enable {
services.xserver.displayManager.extraSessionFilePackages = [
pkgs.surf-display
];
environment.etc."default/surf-display".text = surfDisplayConf;
};
}

View File

@ -96,6 +96,14 @@ in
type = types.bool;
};
autoSuspend = mkOption {
default = true;
description = ''
Suspend the machine after inactivity.
'';
type = types.bool;
};
};
};
@ -176,10 +184,40 @@ in
systemd.user.services.dbus.wantedBy = [ "default.target" ];
programs.dconf.profiles.gdm = pkgs.writeText "dconf-gdm-profile" ''
system-db:local
${gdm}/share/dconf/profile/gdm
'';
programs.dconf.profiles.gdm =
let
customDconf = pkgs.writeTextFile {
name = "gdm-dconf";
destination = "/dconf/gdm-custom";
text = ''
${optionalString (!cfg.gdm.autoSuspend) ''
[org/gnome/settings-daemon/plugins/power]
sleep-inactive-ac-type='nothing'
sleep-inactive-battery-type='nothing'
sleep-inactive-ac-timeout=0
sleep-inactive-battery-timeout=0
''}
'';
};
customDconfDb = pkgs.stdenv.mkDerivation {
name = "gdm-dconf-db";
buildCommand = ''
${pkgs.gnome3.dconf}/bin/dconf compile $out ${customDconf}/dconf
'';
};
in pkgs.stdenv.mkDerivation {
name = "dconf-gdm-profile";
buildCommand = ''
# Check that the GDM profile starts with what we expect.
if [ $(head -n 1 ${gdm}/share/dconf/profile/gdm) != "user-db:user" ]; then
echo "GDM dconf profile changed, please update gdm.nix"
exit 1
fi
# Insert our custom DB behind it.
sed '2ifile-db:${customDconfDb}' ${gdm}/share/dconf/profile/gdm > $out
'';
};
# Use AutomaticLogin if delay is zero, because it's immediate.
# Otherwise with TimedLogin with zero seconds the prompt is still

View File

@ -8,11 +8,12 @@ let
jmxRoles = [{ username = "me"; password = "password"; }];
jmxRolesFile = ./cassandra-jmx-roles;
jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}";
jmxPort = 7200; # Non-standard port so it doesn't accidentally work
# Would usually be assigned to 512M
numMaxHeapSize = "400";
getHeapLimitCommand = ''
nodetool info | grep "^Heap Memory" | awk \'{print $NF}\'
nodetool info -p ${toString jmxPort} | grep "^Heap Memory" | awk \'{print $NF}\'
'';
checkHeapLimitCommand = ''
[ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ]
@ -27,19 +28,20 @@ let
package = testPackage;
maxHeapSize = "${numMaxHeapSize}M";
heapNewSize = "100M";
inherit jmxPort;
};
nodeCfg = ipAddress: extra: {pkgs, config, ...}:
{ environment.systemPackages = [ testPackage ];
networking = {
firewall.allowedTCPPorts = [ 7000 7199 9042 ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = ipAddress; prefixLength = 24; }
];
};
services.cassandra = cassandraCfg ipAddress // extra;
virtualisation.memorySize = 1024;
nodeCfg = ipAddress: extra: {pkgs, config, ...}: rec {
environment.systemPackages = [ testPackage ];
networking = {
firewall.allowedTCPPorts = [ 7000 9042 services.cassandra.jmxPort ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = ipAddress; prefixLength = 24; }
];
};
services.cassandra = cassandraCfg ipAddress // extra;
virtualisation.memorySize = 1024;
};
in
{
name = "cassandra-ci";
@ -50,7 +52,9 @@ in
cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; };
};
testScript = ''
testScript = let
jmxPortS = toString jmxPort;
in ''
# Check configuration
subtest "Timers exist", sub {
$cass0->succeed("systemctl list-timers | grep cassandra-full-repair.timer");
@ -63,51 +67,51 @@ in
};
subtest "Nodetool is operational", sub {
$cass0->waitForUnit("cassandra.service");
$cass0->waitUntilSucceeds("nc -z localhost 7199");
$cass0->succeed("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass0'");
$cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
$cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass0'");
};
subtest "Cluster name was set", sub {
$cass0->waitForUnit("cassandra.service");
$cass0->waitUntilSucceeds("nc -z localhost 7199");
$cass0->waitUntilSucceeds("nodetool describecluster | grep 'Name: ${clusterName}'");
$cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
$cass0->waitUntilSucceeds("nodetool describecluster -p ${jmxPortS} | grep 'Name: ${clusterName}'");
};
subtest "Heap limit set correctly", sub {
# Nodetool takes a while until it can display info
$cass0->waitUntilSucceeds('nodetool info');
$cass0->waitUntilSucceeds('nodetool info -p ${jmxPortS}');
$cass0->succeed('${checkHeapLimitCommand}');
};
# Check cluster interaction
subtest "Bring up cluster", sub {
$cass1->waitForUnit("cassandra.service");
$cass1->waitUntilSucceeds("nodetool ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
$cass0->succeed("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass1'");
$cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
$cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
};
'' + lib.optionalString testRemoteAuth ''
subtest "Remote authenticated jmx", sub {
# Doesn't work if not enabled
$cass0->waitUntilSucceeds("nc -z localhost 7199");
$cass1->fail("nc -z 192.168.1.1 7199");
$cass1->fail("nodetool -h 192.168.1.1 status");
$cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
$cass1->fail("nc -z 192.168.1.1 ${toString jmxPort}");
$cass1->fail("nodetool -p ${jmxPortS} -h 192.168.1.1 status");
# Works if enabled
$cass1->waitUntilSucceeds("nc -z localhost 7199");
$cass0->succeed("nodetool -h 192.168.1.2 ${jmxAuthArgs} status");
$cass1->waitUntilSucceeds("nc -z localhost ${toString jmxPort}");
$cass0->succeed("nodetool -p ${jmxPortS} -h 192.168.1.2 ${jmxAuthArgs} status");
};
'' + ''
subtest "Break and fix node", sub {
$cass1->block;
$cass0->waitUntilSucceeds("nodetool status --resolve-ip | egrep -c '^DN[[:space:]]+cass1'");
$cass0->succeed("nodetool status | egrep -c '^UN' | grep 1");
$cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'");
$cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN' | grep 1");
$cass1->unblock;
$cass1->waitUntilSucceeds("nodetool ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
$cass0->succeed("nodetool status | egrep -c '^UN' | grep 2");
$cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
$cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN' | grep 2");
};
subtest "Replace crashed node", sub {
$cass1->crash;
$cass2->waitForUnit("cassandra.service");
$cass0->waitUntilFails("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass1'");
$cass0->waitUntilSucceeds("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass2'");
$cass0->waitUntilFails("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
$cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass2'");
};
'';
})

26
nixos/tests/initdb.nix Normal file
View File

@ -0,0 +1,26 @@
let
pkgs = import <nixpkgs> { };
in
with import <nixpkgs/nixos/lib/testing.nix> { inherit pkgs; system = builtins.currentSystem; };
with pkgs.lib;
makeTest {
name = "pg-initdb";
machine = {...}:
{
documentation.enable = false;
services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_9_6;
environment.pathsToLink = [
"/share/postgresql"
];
};
testScript = ''
$machine->start;
$machine->succeed("sudo -u postgres initdb -D /tmp/testpostgres2");
$machine->shutdown;
'';
}

View File

@ -19,7 +19,7 @@ import ./make-test.nix ({ pkgs, ...} : {
services.mysql.initialScript = pkgs.writeText "mysql-init.sql" ''
CREATE USER 'passworduser'@'localhost' IDENTIFIED BY 'password123';
'';
services.mysql.package = pkgs.mysql;
services.mysql.package = pkgs.mysql57;
};
mariadb =

View File

@ -0,0 +1,50 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, appimage-run }:
stdenv.mkDerivation rec {
pname = "ledger-live-desktop";
version = "1.12.0";
src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
sha256 = "0sn0ri8kqvy36d6vjwsb0mh54nwic58416m6q5drl1schsn6wyvj";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ appimage-run ];
desktopIcon = fetchurl {
url = "https://raw.githubusercontent.com/LedgerHQ/${pname}/v${version}/build/icon.png";
sha256 = "1mmfaf0yk7xf1kgbs3ka8wsbz1qgh60xj6z91ica1i7lw2qbdd5h";
};
desktopItem = makeDesktopItem {
name = pname;
exec = "${placeholder "out"}/bin/${pname}";
icon = pname;
desktopName = "Ledger Live";
categories = "Utility;";
};
unpackPhase = ":";
installPhase = ''
runHook preInstall
${desktopItem.buildCommand}
install -D $src $out/share/${src.name}
install -Dm -x ${desktopIcon} \
$out/share/icons/hicolor/1024x1024/apps/${pname}.png
makeWrapper ${appimage-run}/bin/appimage-run $out/bin/${pname} \
--add-flags $out/share/${src.name}
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Wallet app for Ledger Nano S and Ledger Blue";
homepage = "https://www.ledger.com/live";
license = licenses.mit;
maintainers = with maintainers; [ thedavidmeister ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "lnd";
version = "0.7.0-beta";
version = "0.7.1-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
sha256 = "0d6m1vfy33rg6d7qmkpydiypav1girxsnxan9njyjz0vhinmq0sx";
sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
};
modSha256 = "0akxi7xhyz7xx0vc003abidva02sp940cc2gfjg4fmzkc95cajc9";
modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
meta = with lib; {
description = "Lightning Network Daemon";

View File

@ -25,13 +25,13 @@ in
stdenv.mkDerivation rec {
name = "monero-gui-${version}";
version = "0.14.1.0";
version = "0.14.1.2";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "v${version}";
sha256 = "0ilx47771faygf97wilm64xnqxgxa3b43q0g9v014npk0qj8pc31";
sha256 = "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k";
};
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
@ -48,7 +48,6 @@ stdenv.mkDerivation rec {
patches = [
./move-log-file.patch
./move-translations-dir.patch
];
postPatch = ''
@ -83,10 +82,6 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
# install translations
mkdir -p $out/share/translations
cp translations/*.qm $out/share/translations/
# install icons
for n in 16 24 32 48 64 96 128 256; do
size=$n"x"$n
@ -97,10 +92,11 @@ stdenv.mkDerivation rec {
'';
meta = {
description = "Private, secure, untraceable currency";
homepage = https://getmonero.org/;
license = licenses.bsd3;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ rnhmjoj ];
description = "Private, secure, untraceable currency";
homepage = https://getmonero.org/;
license = licenses.bsd3;
platforms = platforms.all;
badPlatforms = platforms.darwin;
maintainers = with maintainers; [ rnhmjoj ];
};
}

View File

@ -13,18 +13,3 @@ index a51568d..5a9f683 100644
parser.addOption(logPathOption);
parser.addHelpOption();
parser.process(app);
diff --git a/Logger.cpp b/Logger.cpp
index 6b1daba..c357762 100644
--- a/Logger.cpp
+++ b/Logger.cpp
@@ -28,8 +28,8 @@ static const QString defaultLogName = "monero-wallet-gui.log";
static const QString appFolder = "Library/Logs";
#else // linux + bsd
//HomeLocation = "~"
- static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0);
- static const QString appFolder = ".bitmonero";
+ static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::CacheLocation).at(0);
+ static const QString appFolder = "bitmonero";
#endif

View File

@ -1,13 +0,0 @@
diff --git a/TranslationManager.cpp b/TranslationManager.cpp
index e7fc52a..83534cc 100644
--- a/TranslationManager.cpp
+++ b/TranslationManager.cpp
@@ -25,7 +25,7 @@ bool TranslationManager::setLanguage(const QString &language)
return true;
}
- QString dir = qApp->applicationDirPath() + "/translations";
+ QString dir = qApp->applicationDirPath() + "/../share/translations";
QString filename = "monero-core_" + language;
qDebug("%s: loading translation file '%s' from '%s'",

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, vlc
{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig, vlc
, qtbase, qtmultimedia, qtsvg, qttools
# Cantata doesn't build with cdparanoia enabled so we disable that
@ -35,7 +35,7 @@ let
withUdisks = (withTaglib && withDevices);
in stdenv.mkDerivation rec {
in mkDerivation rec {
name = "${pname}-${version}";
src = fetchFromGitHub {
@ -46,20 +46,20 @@ in stdenv.mkDerivation rec {
};
buildInputs = [ vlc qtbase qtmultimedia qtsvg ]
++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
++ stdenv.lib.optional withCdda cdparanoia
++ stdenv.lib.optional withCddb libcddb
++ stdenv.lib.optional withLame lame
++ stdenv.lib.optional withMtp libmtp
++ stdenv.lib.optional withMusicbrainz libmusicbrainz5
++ stdenv.lib.optional withUdisks udisks2;
++ lib.optionals withTaglib [ taglib taglib_extras ]
++ lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
++ lib.optional withCdda cdparanoia
++ lib.optional withCddb libcddb
++ lib.optional withLame lame
++ lib.optional withMtp libmtp
++ lib.optional withMusicbrainz libmusicbrainz5
++ lib.optional withUdisks udisks2;
nativeBuildInputs = [ cmake pkgconfig qttools ];
enableParallelBuilding = true;
cmakeFlags = stdenv.lib.flatten [
cmakeFlags = lib.flatten [
(fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ])
(fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ])
(fstat withCdda "CDPARANOIA")
@ -76,7 +76,7 @@ in stdenv.mkDerivation rec {
"-DENABLE_HTTPS_SUPPORT=ON"
];
meta = with stdenv.lib; {
meta = with lib; {
homepage = https://github.com/cdrummond/cantata;
description = "A graphical client for MPD";
license = licenses.gpl3;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, makeWrapper, chromaprint
{ stdenv, mkDerivation, fetchFromGitHub, chromaprint
, fftw, flac, faad2, glibcLocales, mp4v2
, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
, libGLU, libxcb, lilv, lv2, opusfile
@ -6,7 +6,7 @@
, qtx11extras, rubberband, scons, sqlite, taglib, upower, vampSDK
}:
stdenv.mkDerivation rec {
mkDerivation rec {
name = "mixxx-${version}";
version = "2.2.1";
@ -17,8 +17,6 @@ stdenv.mkDerivation rec {
sha256 = "1q6c2wfpprsx7s7nz1w0mhm2yhikj54jxcv61kwylxx3n5k2na9r";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg
@ -34,10 +32,9 @@ stdenv.mkDerivation rec {
"opus=1"
];
fixupPhase = ''
wrapProgram $out/bin/mixxx \
--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive;
'';
qtWrapperArgs = [
"--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
];
meta = with stdenv.lib; {
homepage = https://mixxx.org;

View File

@ -24,13 +24,13 @@ let
in stdenv.mkDerivation rec {
name = "pulseaudio-modules-bt-${version}";
version = "1.1.99";
version = "1.3";
src = fetchFromGitHub {
owner = "EHfive";
repo = "pulseaudio-modules-bt";
rev = "v${version}";
sha256 = "0x670xbd62r3fs9a8pa5p4ppvxn6m64hvlrqa702gvikcvyrmwcg";
sha256 = "00xmidcw4fvpbmg0nsm2gk5zw26fpyjbc0pjk6mzr570zbnyqqbn";
};
patches = [

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
{ stdenv, mkDerivation, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
stdenv.mkDerivation rec {
version = "0.5.8";
mkDerivation rec {
version = "0.5.9";
name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally
src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
sha256 = "1r5hf3hcr20n93jrrm7xk2zf6yx264pcr4d10cpybhrancxh602n";
sha256 = "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk";
};
buildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }:
stdenv.mkDerivation rec {
version = "0.5.4";
version = "0.5.5";
name = "qmidinet-${version}";
src = fetchurl {
url = "mirror://sourceforge/qmidinet/${name}.tar.gz";
sha256 = "1il4b8v3azb33yg4fy78npi56xlkz4n60f17sgvckyxb2yj57jwq";
sha256 = "0az20hh14g7k6h779dk1b6fshxnfj2664sj6ypgllzriwv430x9y";
};
hardeningDisable = [ "format" ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "qsampler-${version}";
version = "0.5.5";
version = "0.5.6";
src = fetchurl {
url = "mirror://sourceforge/qsampler/${name}.tar.gz";
sha256 = "1li2p8zknrdr62wlaassfvgski0rlbr3lvrzywbh32dq8j50w8zf";
sha256 = "0lx2mzyajmjckwfvgf8p8bahzpj0n0lflyip41jk32nwd2hzjhbs";
};
nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];

View File

@ -1,20 +1,21 @@
{ alsaLib, autoconf, automake, dssi, fetchurl, libjack2
, ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile
, libtool, libvorbis, lilv, lv2, pkgconfig, qttools, qtbase, rubberband, serd
, sord, sratom, stdenv, suil }:
, sord, sratom, stdenv, suil, wrapQtAppsHook }:
stdenv.mkDerivation rec {
pname = "qtractor";
version = "0.9.8";
version = "0.9.9";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "1llajl450yh7bka32ngm4xdva6a2nnxzjc497ydh07rwkap16smx";
sha256 = "0qlbccdxyfy0f09y6qg1xkg12fm67bf2f2c27c22cg8lzk9ang5j";
};
nativeBuildInputs = [
autoconf automake libtool pkgconfig qttools
autoconf automake libtool pkgconfig qttools wrapQtAppsHook
];
buildInputs =
[ alsaLib dssi libjack2 ladspaH
ladspaPlugins liblo libmad libsamplerate libsndfile libtool

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
name = "spectmorph-${version}";
version = "0.4.1";
version = "0.5.0";
src = fetchurl {
url = "http://spectmorph.org/files/releases/${name}.tar.bz2";
sha256 = "0z00yvv3jl8qsx6bz9msmg09mdnj5r5d4ws5bmnylwxk182whbrv";
sha256 = "003wznv3sy1b4g55vqii9pr3i3bb3zmj7nqvwrz7vjsfn2xyd1bn";
};
buildInputs = [ libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ];

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
, glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
, at-spi2-atk, at-spi2-core, apulse
, at-spi2-atk
}:
let
@ -10,22 +10,20 @@ let
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux
version = "1.1.10.546.ge08ef575-19";
version = "1.0.96.181.gf6bc1b6b-12";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "36";
rev = "30";
deps = [
alsaLib
apulse
atk
at-spi2-atk
at-spi2-core
cairo
cups
curl
@ -74,7 +72,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "c49f1a86a9b737e64a475bbe62754a36f607669e908eb725a2395f0a0a6b95968e0c8ce27ab2c8b6c92fe8cbacb1ef58de11c79b92dc0f58c2c6d3a140706a1f";
sha512 = "859730fbc80067f0828f7e13eee9a21b13b749f897a50e17c2da4ee672785cfd79e1af6336e609529d105e040dc40f61b6189524783ac93d49f991c4ea8b3c56";
};
buildInputs = [ squashfsTools makeWrapper ];
@ -136,8 +134,6 @@ stdenv.mkDerivation {
librarypath="${stdenv.lib.makeLibraryPath deps}:$libdir"
wrapProgram $out/share/spotify/spotify \
--prefix LD_LIBRARY_PATH : "$librarypath" \
--prefix LD_LIBRARY_PATH : "${apulse}/lib/apulse" \
--set APULSE_PLAYBACK_DEVICE plug:dmix \
--prefix PATH : "${gnome3.zenity}/bin"
# fix Icon line in the desktop file (#48062)
@ -162,7 +158,7 @@ stdenv.mkDerivation {
homepage = https://www.spotify.com/;
description = "Play music from the Spotify music service";
license = licenses.unfree;
maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau angristan ];
maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "1iybk9xrrvhrcl2xl5r2xhyn1ydhrgwnnb8ldhsw5c16b32z03q1";
};
cargoSha256 = "0879p1h32259schmy8j3xnwpw3sw80f8mrj8s6b5aihi3yyzz521";
cargoSha256 = "1dzg4sb95ixjfhx6n4w2rgrq4481vw01nsdrbm746mz7nm71csk3";
cargoBuildFlags = [
"--no-default-features"

View File

@ -5,13 +5,18 @@
let
glfw-git = glfw.overrideAttrs (oldAttrs: rec {
name = "glfw-git-${version}";
version = "unstable-2018-05-29";
version = "2019-06-30";
src = fetchFromGitHub {
owner = "glfw";
owner = "AndrewBelt";
repo = "glfw";
rev = "0be4f3f75aebd9d24583ee86590a38e741db0904";
sha256 = "0zbcjgc7ks25yi949k0wjknfl00a4dqmz45mhp00k62vlq2sj0i5";
rev = "d9ab59efc781c392128a449361a381fcc93cf6f3";
sha256 = "1ykkq6qq8y6j5hlfj2zp1p87kr33vwhywziprz20v5avx1q7rjm8";
};
# We patch the source to export a function that was added to the glfw fork
# for Rack so it is present when we build glfw as a shared library.
# See https://github.com/AndrewBelt/glfw/pull/1 for discussion of this issue
# with upstream.
patches = [ ./glfw.patch ];
buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ];
});
pfft-source = fetchFromBitbucket {
@ -23,32 +28,31 @@ let
in
with stdenv.lib; stdenv.mkDerivation rec {
name = "VCV-Rack-${version}";
version = "0.6.2b";
version = "1.1.3";
src = fetchFromGitHub {
owner = "VCVRack";
repo = "Rack";
rev = "v${version}";
sha256 = "17ynhxcci6dyn1yi871fd8yli4924fh12pmk510djwkcj5crhas6";
sha256 = "16q3x0jpwkdwwvh7rn472w7nfjf81s10z9c7bx011kk7rgk88hh2";
fetchSubmodules = true;
};
patches = [ ./rack-minimize-vendoring.patch ];
prePatch = ''
ln -s ${pfft-source} dep/jpommier-pffft-source
cp -r ${pfft-source} dep/jpommier-pffft-source
mkdir -p dep/include
cp dep/jpommier-pffft-source/*.h dep/include
cp dep/nanosvg/src/*.h dep/include
cp dep/nanosvg/**/*.h dep/include
cp dep/nanovg/src/*.h dep/include
cp dep/osdialog/*.h dep/include
cp dep/oui-blendish/*.h dep/include
substituteInPlace include/audio.hpp --replace "<RtAudio.h>" "<rtaudio/RtAudio.h>"
substituteInPlace compile.mk --replace "-march=nocona" ""
substituteInPlace Makefile \
--replace "-Wl,-Bstatic" "" \
--replace "-lglfw3" "-lglfw"
'';
enableParallelBuilding = true;
@ -60,13 +64,12 @@ with stdenv.lib; stdenv.mkDerivation rec {
installPhase = ''
install -D -m755 -t $out/bin Rack
cp -r res $out/
mkdir -p $out/share/rack
cp LICENSE.txt LICENSE-dist.txt $out/share/rack
mkdir -p $out/share/vcv-rack
cp -r res Core.json template.vcv LICENSE* cacert.pem $out/share/vcv-rack
# Override the default global resource file directory
wrapProgram $out/bin/Rack --add-flags "-g $out"
wrapProgram $out/bin/Rack --add-flags "-s $out/share/vcv-rack"
'';
meta = with stdenv.lib; {

View File

@ -0,0 +1,13 @@
diff --git a/src/init.c b/src/init.c
index af4a579e..317e25b8 100644
--- a/src/init.c
+++ b/src/init.c
@@ -339,7 +339,7 @@ GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun)
char glfwOpenedFilename[1024];
-const char *glfwGetOpenedFilename()
+GLFWAPI const char *glfwGetOpenedFilename()
{
if (glfwOpenedFilename[0])
{

View File

@ -0,0 +1,14 @@
diff -ru a/Makefile b/Makefile
--- a/Makefile 1970-01-01 01:00:01.000000000 +0100
+++ b/Makefile 1970-01-01 01:00:01.000000000 +0100
@@ -21,8 +21,8 @@
build/dep/osdialog/osdialog_gtk2.c.o: FLAGS += $(shell pkg-config --cflags gtk+-2.0)
LDFLAGS += -rdynamic \
- dep/lib/libglfw3.a dep/lib/libGLEW.a dep/lib/libjansson.a dep/lib/libspeexdsp.a dep/lib/libzip.a dep/lib/libz.a dep/lib/librtmidi.a dep/lib/librtaudio.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a \
- -lpthread -lGL -ldl -lX11 -lasound -ljack \
+ -lGLEW -ljansson -lspeexdsp -lzip -lz -lrtmidi -lrtaudio -lcurl -lssl -lcrypto \
+ -lpthread -lGL -ldl -lX11 -lasound -ljack -lglfw \
$(shell pkg-config --libs gtk+-2.0)
TARGET := Rack
endif

View File

@ -13,9 +13,9 @@ let
sha256Hash = "090rc307mfm0yw4h592l9307lq4aas8zq0ci49csn6kxhds8rsrm";
};
betaVersion = {
version = "3.5.0.18"; # "Android Studio 3.5 RC 1"
build = "191.5717577";
sha256Hash = "1p0w7xrfk33m1wvwnc3s3s7w9rm8wn9b3bjn566w2qpjv5ngdkn3";
version = "3.5.0.19"; # "Android Studio 3.5 RC 2"
build = "191.5763348";
sha256Hash = "0z7mjpk0cqwk4ysd3cdsahlg70ax90353qvvag9wgyzl2x2sr6d2";
};
latestVersion = { # canary & dev
version = "3.6.0.3"; # "Android Studio 3.6 Canary 3"

View File

@ -50,4 +50,4 @@ self:
elpaPackages = super // overrides;
in elpaPackages // { inherit elpaBuild elpaPackages; }
in elpaPackages // { inherit elpaBuild; }

View File

@ -1,57 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, emacs, libvterm-neovim }:
let
emacsSources = stdenv.mkDerivation {
name = emacs.name + "-sources";
src = emacs.src;
dontConfigure = true;
dontBuild = true;
doCheck = false;
fixupPhase = ":";
installPhase = ''
mkdir -p $out
cp -a * $out
'';
};
libvterm = libvterm-neovim.overrideAttrs(old: rec {
pname = "libvterm-neovim";
version = "2019-04-27";
name = pname + "-" + version;
src = fetchFromGitHub {
owner = "neovim";
repo = "libvterm";
rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
};
});
in stdenv.mkDerivation rec {
name = "emacs-libvterm-${version}";
version = "unstable-2019-07-22";
src = fetchFromGitHub {
owner = "akermu";
repo = "emacs-libvterm";
rev = "301fe9fdfd5fb2496c8428a11e0812fd8a4c0820";
sha256 = "0i1hn5gcxayqcbjrnpgczvbicq2vsyn59646ary3crs0mz9wlbpr";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ emacs libvterm ];
cmakeFlags = [
"-DEMACS_SOURCE=${emacsSources}"
"-DUSE_SYSTEM_LIBVTERM=True"
];
installPhase = ''
install -d $out/share/emacs/site-lisp
install ../*.el $out/share/emacs/site-lisp
install ../*.so $out/share/emacs/site-lisp
'';
}

View File

@ -0,0 +1,145 @@
{ lib, external, pkgs }: self: with self; with lib.licenses; {
elisp-ffi = melpaBuild rec {
pname = "elisp-ffi";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "skeeto";
repo = "elisp-ffi";
rev = "${version}";
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
};
buildInputs = [ external.libffi ];
preBuild = "make";
recipe = pkgs.writeText "recipe" ''
(elisp-ffi
:repo "skeeto/elisp-ffi"
:fetcher github
:files ("ffi-glue" "ffi.el"))
'';
meta = {
description = "Emacs Lisp Foreign Function Interface";
longDescription = ''
This library provides an FFI for Emacs Lisp so that Emacs
programs can invoke functions in native libraries. It works by
driving a subprocess to do the heavy lifting, passing result
values on to Emacs.
'';
license = publicDomain;
};
};
agda2-mode = with external; trivialBuild {
pname = "agda-mode";
version = Agda.version;
phases = [ "buildPhase" "installPhase" ];
# already byte-compiled by Agda builder
buildPhase = ''
agda=`${Agda}/bin/agda-mode locate`
cp `dirname $agda`/*.el* .
'';
meta = {
description = "Agda2-mode for Emacs extracted from Agda package";
longDescription = ''
Wrapper packages that liberates init.el from `agda-mode locate` magic.
Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
'';
homepage = Agda.meta.homepage;
license = Agda.meta.license;
};
};
ess-R-object-popup =
callPackage ./ess-R-object-popup { };
filesets-plus = callPackage ./filesets-plus { };
font-lock-plus = callPackage ./font-lock-plus { };
ghc-mod = melpaBuild rec {
pname = "ghc";
version = external.ghc-mod.version;
src = external.ghc-mod.src;
packageRequires = [ haskell-mode ];
propagatedUserEnvPkgs = [ external.ghc-mod ];
recipe = pkgs.writeText "recipe" ''
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
'';
fileSpecs = [ "elisp/*.el" ];
meta = {
description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
license = bsd3;
};
};
haskell-unicode-input-method = melpaBuild rec {
pname = "emacs-haskell-unicode-input-method";
version = "20110905.2307";
src = pkgs.fetchFromGitHub {
owner = "roelvandijk";
repo = "emacs-haskell-unicode-input-method";
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
};
recipe = pkgs.writeText "recipe" ''
(haskell-unicode-input-method
:repo "roelvandijk/emacs-haskell-unicode-input-method"
:fetcher github)
'';
packageRequires = [];
meta = {
homepage = "https://melpa.org/#haskell-unicode-input-method/";
license = lib.licenses.free;
};
};
hexrgb = callPackage ./hexrgb { };
header2 = callPackage ./header2 { };
helm-words = callPackage ./helm-words { };
icicles = callPackage ./icicles { };
rtags = melpaBuild rec {
inherit (external.rtags) version src meta;
pname = "rtags";
dontConfigure = true;
propagatedUserEnvPkgs = [ external.rtags ];
recipe = pkgs.writeText "recipe" ''
(rtags
:repo "andersbakken/rtags" :fetcher github
:files ("src/*.el"))
'';
};
lib-requires =
callPackage ./lib-requires { };
org-mac-link =
callPackage ./org-mac-link { };
perl-completion =
callPackage ./perl-completion { };
railgun = callPackage ./railgun { };
gn = callPackage ./gn { };
structured-haskell-mode = self.shm;
thingatpt-plus = callPackage ./thingatpt-plus { };
tramp = callPackage ./tramp { };
yaoddmuse = callPackage ./yaoddmuse { };
zeitgeist = callPackage ./zeitgeist { };
}

View File

@ -12,289 +12,450 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
*/
{ lib, external }:
{ lib, external, pkgs }: variant: self: let
self:
dontConfigure = pkg: if pkg != null then pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
configureScript = "true";
});
}) else null;
markBroken = pkg: if pkg != null then pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or {}) // { broken = true; };
});
}) else null;
generateMelpa = lib.makeOverridable ({
archiveJson ? ./recipes-archive-melpa.json
}: let
let
inherit (import ./libgenerated.nix lib self) melpaDerivation;
imported = lib.listToAttrs (map (melpaDerivation "unstable")
(lib.importJSON ./recipes-archive-melpa.json));
super = builtins.removeAttrs imported [
"swbuff-x" # required dependency swbuff is missing
];
super = lib.listToAttrs (map (melpaDerivation variant) (lib.importJSON archiveJson));
dontConfigure = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
configureScript = "true";
});
});
generic = import ./melpa-generic.nix;
markBroken = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or {}) // { broken = true; };
});
});
overrides = rec {
shared = {
# Expects bash to be at /bin/bash
ac-rtags = markBroken super.ac-rtags;
overrides = {
# Expects bash to be at /bin/bash
ac-rtags = markBroken super.ac-rtags;
airline-themes = super.airline-themes.override {
inherit (self.melpaPackages) powerline;
};
# upstream issue: mismatched filename
ack-menu = markBroken super.ack-menu;
# upstream issue: missing file header
bufshow = markBroken super.bufshow;
airline-themes = super.airline-themes.override {
inherit (self.melpaPackages) powerline;
};
# part of a larger package
caml = dontConfigure super.caml;
# upstream issue: missing file header
bufshow = markBroken super.bufshow;
# Expects bash to be at /bin/bash
company-rtags = markBroken super.company-rtags;
# part of a larger package
caml = dontConfigure super.caml;
easy-kill-extras = super.easy-kill-extras.override {
inherit (self.melpaPackages) easy-kill;
};
# Expects bash to be at /bin/bash
company-rtags = markBroken super.company-rtags;
# upstream issue: missing file header
elmine = markBroken super.elmine;
easy-kill-extras = super.easy-kill-extras.override {
inherit (self.melpaPackages) easy-kill;
};
elpy = super.elpy.overrideAttrs(old: {
propagatedUserEnvPkgs = old.propagatedUserEnvPkgs ++ [ external.elpy ];
});
editorconfig = super.editorconfig.overrideAttrs (attrs: {
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
});
egg = super.egg.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: missing file header
elmine = markBroken super.elmine;
ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};
evil-magit = super.evil-magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# missing dependencies
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
packageRequires = with self; [ evil highlight ];
});
# Expects bash to be at /bin/bash
flycheck-rtags = markBroken super.flycheck-rtags;
forge = super.forge.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# build timeout
graphene = markBroken super.graphene;
# upstream issue: mismatched filename
helm-lobsters = markBroken super.helm-lobsters;
# Expects bash to be at /bin/bash
helm-rtags = markBroken super.helm-rtags;
# Build same version as Haskell package
hindent = super.hindent.overrideAttrs (attrs: {
version = external.hindent.version;
src = external.hindent.src;
packageRequires = [ self.haskell-mode ];
propagatedUserEnvPkgs = [ external.hindent ];
});
# upstream issue: missing file header
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
# upstream issue: missing file header
initsplit = super.initsplit;
# tries to write a log file to $HOME
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
HOME = "/tmp";
});
# Expects bash to be at /bin/bash
ivy-rtags = markBroken super.ivy-rtags;
# upstream issue: missing file header
jsfmt = markBroken super.jsfmt;
# upstream issue: missing file header
maxframe = markBroken super.maxframe;
magit =
super.magit.overrideAttrs (attrs: {
evil-magit = super.evil-magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
magit-annex = super.magit-annex.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# Expects bash to be at /bin/bash
flycheck-rtags = markBroken super.flycheck-rtags;
magithub = super.magithub.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# build timeout
graphene = markBroken super.graphene;
magit-svn = super.magit-svn.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
pdf-tools = super.pdf-tools.overrideAttrs(old: {
nativeBuildInputs = [ external.pkgconfig ];
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
preBuild = "make server/epdfinfo";
recipe = pkgs.writeText "recipe" ''
(pdf-tools
:repo "politza/pdf-tools" :fetcher github
:files ("lisp/pdf-*.el" "server/epdfinfo"))
'';
});
magit-todos = super.magit-todos.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# Build same version as Haskell package
hindent = super.hindent.overrideAttrs (attrs: {
version = external.hindent.version;
src = external.hindent.src;
packageRequires = [ self.haskell-mode ];
propagatedUserEnvPkgs = [ external.hindent ];
});
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: missing file header
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
mhc = super.mhc.override {
inherit (self.melpaPackages) calfw;
};
# upstream issue: missing file header
initsplit = markBroken super.initsplit;
# missing .NET
nemerle = markBroken super.nemerle;
irony = super.irony.overrideAttrs(old: {
preConfigure = ''
cd server
'';
preBuild = ''
make
'';
postInstall = ''
mkdir -p $out
mv $out/share/emacs/site-lisp/elpa/*/server/bin $out
rm -rf $out/share/emacs/site-lisp/elpa/*/server
'';
preCheck = ''
cd source/server
'';
dontUseCmakeBuildDir = true;
doCheck = true;
packageRequires = [ self.emacs ];
nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
});
# part of a larger package
notmuch = dontConfigure super.notmuch;
# tries to write a log file to $HOME
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
HOME = "/tmp";
});
# missing OCaml
ocp-indent = markBroken super.ocp-indent;
# Expects bash to be at /bin/bash
ivy-rtags = markBroken super.ivy-rtags;
orgit =
(super.orgit.overrideAttrs (attrs: {
# upstream issue: missing file header
jsfmt = markBroken super.jsfmt;
# upstream issue: missing file header
maxframe = markBroken super.maxframe;
magit = super.magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
});
# tries to write to $HOME
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
HOME = "/tmp";
});
magit-annex = super.magit-annex.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: mismatched filename
processing-snippets = markBroken super.processing-snippets;
magit-todos = super.magit-todos.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: missing file header
qiita = markBroken super.qiita;
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
racer = super.racer.overrideAttrs (attrs: {
postPatch = attrs.postPatch or "" + ''
substituteInPlace racer.el \
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
'';
});
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: missing file footer
seoul256-theme = markBroken super.seoul256-theme;
magithub = super.magithub.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};
magit-svn = super.magit-svn.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: missing file header
speech-tagger = markBroken super.speech-tagger;
# upstream issue: missing file header
stgit = markBroken super.stgit;
# upstream issue: missing file header
tawny-mode = markBroken super.tawny-mode;
# upstream issue: missing file header
textmate = markBroken super.textmate;
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
kubernetes = super.kubernetes.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# missing OCaml
utop = markBroken super.utop;
# upstream issue: missing file header
mhc = super.mhc.override {
inherit (self.melpaPackages) calfw;
};
vdiff-magit =
(super.vdiff-magit.overrideAttrs (attrs: {
# missing .NET
nemerle = markBroken super.nemerle;
# part of a larger package
notmuch = dontConfigure super.notmuch;
# missing OCaml
ocp-indent = markBroken super.ocp-indent;
# upstream issue: missing file header
qiita = markBroken super.qiita;
# upstream issue: missing file header
speech-tagger = markBroken super.speech-tagger;
shm = super.shm.overrideAttrs (attrs: {
propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
});
# upstream issue: missing file header
tawny-mode = markBroken super.tawny-mode;
# upstream issue: missing file header
textmate = markBroken super.textmate;
# missing OCaml
utop = markBroken super.utop;
vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
});
# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;
# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;
# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;
# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;
w3m = super.w3m.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
prePatch =
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in ''
substituteInPlace w3m.el \
--replace 'defcustom w3m-command nil' \
'defcustom w3m-command "${w3m}"'
vterm = let
emacsSources = pkgs.stdenv.mkDerivation {
name = self.emacs.name + "-sources";
src = self.emacs.src;
dontConfigure = true;
dontBuild = true;
doCheck = false;
fixupPhase = ":";
installPhase = ''
mkdir -p $out
cp -a * $out
'';
};
libvterm = pkgs.libvterm-neovim.overrideAttrs(old: rec {
pname = "libvterm-neovim";
version = "2019-04-27";
name = pname + "-" + version;
src = pkgs.fetchFromGitHub {
owner = "neovim";
repo = "libvterm";
rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
};
});
in pkgs.stdenv.mkDerivation rec {
inherit (super.vterm) name version src;
nativeBuildInputs = [ pkgs.cmake ];
buildInputs = [ self.emacs libvterm ];
cmakeFlags = [
"-DEMACS_SOURCE=${emacsSources}"
"-DUSE_SYSTEM_LIBVTERM=True"
];
installPhase = ''
install -d $out/share/emacs/site-lisp
install ../*.el $out/share/emacs/site-lisp
install ../*.so $out/share/emacs/site-lisp
'';
};
# Legacy alias
emacs-libvterm = shared.vterm;
zmq = super.zmq.overrideAttrs(old: {
stripDebugList = [ "share" ];
preBuild = ''
make
'';
nativeBuildInputs = [
external.autoconf external.automake external.pkgconfig external.libtool
(external.zeromq.override { enableDrafts = true; })
];
postInstall = ''
mv $out/share/emacs/site-lisp/elpa/zmq-*/src/.libs/emacs-zmq.so $out/share/emacs/site-lisp/elpa/zmq-*
rm -r $out/share/emacs/site-lisp/elpa/zmq-*/src
rm $out/share/emacs/site-lisp/elpa/zmq-*/Makefile
'';
});
});
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
_0blayout = super."0blayout";
_0xc = super."0xc";
_2048-game = super."2048-game";
_4clojure = super."4clojure";
at = super."@";
desktop-plus = super."desktop+";
# filesets-plus = super."filesets+";
ghub-plus = super."ghub+";
git-gutter-plus = super."git-gutter+";
git-gutter-fringe-plus = super."git-gutter-fringe+";
ido-completing-read-plus = super."ido-completing-read+";
image-plus = super."image+";
image-dired-plus = super."image-dired+";
markdown-mode-plus = super."markdown-mode+";
package-plus = super."package+";
rect-plus = super."rect+";
term-plus = super."term+";
term-plus-key-intercept = super."term+key-intercept";
term-plus-mux = super."term+mux";
xml-plus = super."xml+";
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
_0blayout = super."0blayout";
_0xc = super."0xc";
_2048-game = super."2048-game";
_4clojure = super."4clojure";
at = super."@";
desktop-plus = super."desktop+";
ghub-plus = super."ghub+";
git-gutter-plus = super."git-gutter+";
git-gutter-fringe-plus = super."git-gutter-fringe+";
ido-completing-read-plus = super."ido-completing-read+";
image-plus = super."image+";
image-dired-plus = super."image-dired+";
markdown-mode-plus = super."markdown-mode+";
package-plus = super."package+";
rect-plus = super."rect+";
term-plus = super."term+";
term-plus-key-intercept = super."term+key-intercept";
term-plus-mux = super."term+mux";
xml-plus = super."xml+";
};
stable = shared // {
# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);
# upstream issue: missing file header
connection = markBroken super.connection;
# upstream issue: missing file header
dictionary = markBroken super.dictionary;
# missing git
egg = markBroken super.egg;
# upstream issue: missing dependency redshank
emr = markBroken super.emr;
# upstream issue: doesn't build
eterm-256color = markBroken super.eterm-256color;
# upstream issue: missing dependency highlight
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
# upstream issue: missing dependency highlight
floobits = markBroken super.floobits;
# missing OCaml
flycheck-ocaml = markBroken super.flycheck-ocaml;
# upstream issue: missing dependency
fold-dwim-org = markBroken super.fold-dwim-org;
# build timeout
graphene = markBroken super.graphene;
# Expects bash to be at /bin/bash
helm-rtags = markBroken super.helm-rtags;
# upstream issue: missing file header
link = markBroken super.link;
# missing OCaml
merlin = markBroken super.merlin;
# upstream issue: missing file header
po-mode = markBroken super.po-mode;
# upstream issue: truncated file
powershell = markBroken super.powershell;
};
unstable = shared // {
# upstream issue: mismatched filename
ack-menu = markBroken super.ack-menu;
editorconfig = super.editorconfig.overrideAttrs (attrs: {
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
});
egg = super.egg.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# missing dependencies
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
packageRequires = with self; [ evil highlight ];
});
forge = super.forge.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# upstream issue: mismatched filename
helm-lobsters = markBroken super.helm-lobsters;
# Expects bash to be at /bin/bash
helm-rtags = markBroken super.helm-rtags;
# Fails with "package does not untar cleanly into ..."
irony = shared.irony.overrideAttrs(old: {
meta = old.meta // {
broken = true;
};
});
orgit =
(super.orgit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
# tries to write to $HOME
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
HOME = "/tmp";
});
# upstream issue: mismatched filename
processing-snippets = markBroken super.processing-snippets;
racer = super.racer.overrideAttrs (attrs: {
postPatch = attrs.postPatch or "" + ''
substituteInPlace racer.el \
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
'';
});
# upstream issue: missing file footer
seoul256-theme = markBroken super.seoul256-theme;
spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
w3m = super.w3m.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
prePatch =
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in ''
substituteInPlace w3m.el \
--replace 'defcustom w3m-command nil' \
'defcustom w3m-command "${w3m}"'
'';
});
});
};
};
melpaPackages =
removeAttrs (super // overrides)
[
"show-marks" # missing dependency: fm
"lenlen-theme" # missing dependency: color-theme-solarized
];
in
melpaPackages // { inherit melpaPackages; }
in super // overrides."${variant}");
in generateMelpa { }

View File

@ -1,235 +0,0 @@
/*
# Updating
To update the list of packages from MELPA,
1. Run ./update-melpa
2. Check for evaluation errors:
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaStablePackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaPackages
3. `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json`
*/
{ lib, external }:
self:
let
inherit (import ./libgenerated.nix lib self) melpaDerivation;
imported = lib.listToAttrs (map (melpaDerivation "stable")
(lib.importJSON ./recipes-archive-melpa.json));
super = imported;
dontConfigure = pkg: pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
configureScript = "true";
});
});
markBroken = pkg: if pkg != null then pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or {}) // { broken = true; };
});
}) else null;
overrides = {
# Expects bash to be at /bin/bash
ac-rtags = markBroken super.ac-rtags;
airline-themes = super.airline-themes.override {
inherit (self.melpaPackages) powerline;
};
# upstream issue: missing file header
bufshow = markBroken super.bufshow;
# part of a larger package
caml = dontConfigure super.caml;
# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);
# Expects bash to be at /bin/bash
company-rtags = markBroken super.company-rtags;
# upstream issue: missing file header
connection = markBroken super.connection;
# upstream issue: missing file header
dictionary = markBroken super.dictionary;
easy-kill-extras = super.easy-kill-extras.override {
inherit (self.melpaPackages) easy-kill;
};
# missing git
egg = markBroken super.egg;
# upstream issue: missing file header
elmine = markBroken super.elmine;
# upstream issue: missing dependency redshank
emr = markBroken super.emr;
ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};
# upstream issue: doesn't build
eterm-256color = markBroken super.eterm-256color;
# upstream issue: missing dependency highlight
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
# upstream issue: missing dependency highlight
floobits = markBroken super.floobits;
# missing OCaml
flycheck-ocaml = markBroken super.flycheck-ocaml;
# Expects bash to be at /bin/bash
flycheck-rtags = markBroken super.flycheck-rtags;
# upstream issue: missing dependency
fold-dwim-org = markBroken super.fold-dwim-org;
# build timeout
graphene = markBroken super.graphene;
# Expects bash to be at /bin/bash
helm-rtags = markBroken super.helm-rtags;
# Build same version as Haskell package
hindent = super.hindent.overrideAttrs (attrs: {
version = external.hindent.version;
src = external.hindent.src;
packageRequires = [ self.haskell-mode ];
propagatedUserEnvPkgs = [ external.hindent ];
});
# upstream issue: missing file header
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
# upstream issue: missing file header
initsplit = markBroken super.initsplit;
# upstream issue: recipe fails
insert-shebang = markBroken super.insert-shebang;
# Expects bash to be at /bin/bash
ivy-rtags = markBroken super.ivy-rtags;
# upstream issue: missing file header
jsfmt = markBroken super.jsfmt;
# upstream issue: missing file header
link = markBroken super.link;
# upstream issue: missing file header
maxframe = markBroken super.maxframe;
magit =
(super.magit.override {
# version of magit-popup needs to match magit
# https://github.com/magit/magit/issues/3286
inherit (self.melpaStablePackages) magit-popup;
}).overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
magit-todos = super.magit-todos.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
});
# missing OCaml
merlin = markBroken super.merlin;
mhc = super.mhc.override {
inherit (self.melpaPackages) calfw;
};
# missing .NET
nemerle = markBroken super.nemerle;
# part of a larger package
notmuch = dontConfigure super.notmuch;
# missing OCaml
ocp-indent = markBroken super.ocp-indent;
# upstream issue: missing file header
po-mode = markBroken super.po-mode;
# upstream issue: truncated file
powershell = markBroken super.powershell;
# upstream issue: missing file header
qiita = markBroken super.qiita;
# upstream issue: missing file header
speech-tagger = markBroken super.speech-tagger;
# upstream issue: missing file header
stgit = markBroken super.stgit;
# upstream issue: missing file header
tawny-mode = markBroken super.tawny-mode;
# upstream issue: missing file header
textmate = markBroken super.textmate;
# missing OCaml
utop = markBroken super.utop;
vdiff-magit =
(super.vdiff-magit.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;
# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
_0blayout = super."0blayout";
_0xc = super."0xc";
_2048-game = super."2048-game";
_4clojure = super."4clojure";
at = super."@";
desktop-plus = super."desktop+";
ghub-plus = super."ghub+";
git-gutter-plus = super."git-gutter+";
git-gutter-fringe-plus = super."git-gutter-fringe+";
ido-completing-read-plus = super."ido-completing-read+";
image-plus = super."image+";
image-dired-plus = super."image-dired+";
markdown-mode-plus = super."markdown-mode+";
package-plus = super."package+";
rect-plus = super."rect+";
term-plus = super."term+";
term-plus-key-intercept = super."term+key-intercept";
term-plus-mux = super."term+mux";
xml-plus = super."xml+";
};
melpaStablePackages = super // overrides;
in
melpaStablePackages // { inherit melpaStablePackages; }

View File

@ -1,30 +0,0 @@
{lib, trivialBuild, fetchFromGitHub}:
trivialBuild rec {
pname = "nyan-mode";
version = "20150128";
src = fetchFromGitHub {
owner = "TeMPOraL";
repo = pname;
rev = "41faa2c809da7b2cb3e6f8fadefae3f338ced3f2";
sha256 = "1idaac7sjc8hhbf5zif61ncg1pvg28c0qfihavdx61albww0ll7f";
};
patches = [ ./directory.patch ];
preBuild = ''
substituteInPlace nyan-mode.el \
--replace "@OUT@" "$out/"
'';
postInstall = ''
cp -r img $out
cp -r mus $out
'';
meta = {
description = "An analog indicator of the position in the buffer";
license = lib.licenses.gpl3Plus;
};
}

View File

@ -1,13 +0,0 @@
diff --git a/nyan-mode.el b/nyan-mode.el
index 939a25a..3d0b983 100644
--- a/nyan-mode.el
+++ b/nyan-mode.el
@@ -106,7 +106,7 @@ This can be t or nil."
:group 'nyan)
-(defconst +nyan-directory+ (file-name-directory (or load-file-name buffer-file-name)))
+(defconst +nyan-directory+ "@OUT@")
(defconst +nyan-cat-size+ 3)

View File

@ -28,4 +28,4 @@ self:
orgPackages = super // overrides;
in orgPackages // { inherit orgPackages; }
in orgPackages

View File

@ -1,23 +0,0 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation rec {
pname = "redshank";
name = "${pname}-20120510";
src = fetchgit {
url = "http://www.foldr.org/~michaelw/projects/redshank.git";
rev = "f98e68f532e622bcd464292ca4a9cf5fbea14ebb";
sha256 = "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Common Lisp Editing Extensions (for Emacs)";
homepage = http://www.foldr.org/~michaelw/emacs/redshank/;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "stgit";
name = "${pname}-2009-10-28";
dontUnpack = true;
src = fetchurl {
url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";
sha256 = "0pl8q480633vdkylr85s7cbd4653xpzwklnxrwm8xhsnvw9d501q";
name = "stgit.el";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp $src $out/share/emacs/site-lisp/stgit.el
'';
meta = {
description = "An emacs mode for Stgit";
homepage = http://procode.org/stgit/;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,8 +1,6 @@
#! /usr/bin/env nix-shell
#! nix-shell --show-trace -i sh -p git nix nix-prefetch-git nix-prefetch-hg "import ./updater-emacs.nix"
#! nix-shell --show-trace ./updater-emacs.nix -i bash
# "with import ../../../.. {}; emacsWithPackages (epkgs: with epkgs.melpaPackages; [ promise semaphore ])"
SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
exec emacs --fg-daemon=updater --quick -l update-melpa.el -f run-updater "$@"
# exec emacs update-melpa.el "$@"
exec emacs --fg-daemon=updater --quick -l $SCRIPT_DIR/update-melpa.el -f run-updater "$@"

View File

@ -1,29 +1,40 @@
with import ../../../.. {};
(emacsPackagesNgFor emacs26).
emacsWithPackages (epkgs: let
promise = epkgs.trivialBuild {
pname = "promise";
version = "1";
src = fetchFromGitHub {
owner = "bendlas";
repo = "emacs-promise";
rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022";
sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy";
let
pkgs = import ../../../.. {};
emacsEnv = (pkgs.emacsPackagesNgFor pkgs.emacs26).emacsWithPackages (epkgs: let
promise = epkgs.trivialBuild {
pname = "promise";
version = "1";
src = pkgs.fetchFromGitHub {
owner = "bendlas";
repo = "emacs-promise";
rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022";
sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy";
};
};
};
semaphore = epkgs.trivialBuild {
pname = "semaphore";
version = "1";
packageRequires = [ promise ];
src = fetchFromGitHub {
owner = "webnf";
repo = "semaphore.el";
rev = "93802cb093073bc6a6ccd797328dafffcef248e0";
sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853";
semaphore = epkgs.trivialBuild {
pname = "semaphore";
version = "1";
packageRequires = [ promise ];
src = pkgs.fetchFromGitHub {
owner = "webnf";
repo = "semaphore.el";
rev = "93802cb093073bc6a6ccd797328dafffcef248e0";
sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853";
};
};
};
in [ promise semaphore ]
# ++ (with epkgs.melpaPackages; [ smex rainbow-delimiters paredit ])
)
in [ promise semaphore ]);
in pkgs.mkShell {
buildInputs = [
pkgs.git
pkgs.nix
pkgs.bash
pkgs.nix-prefetch-git
pkgs.nix-prefetch-hg
emacsEnv
];
}

View File

@ -42,11 +42,11 @@ let
in
stdenv.mkDerivation rec {
pname = "gnome-builder";
version = "3.32.3";
version = "3.32.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1vlr69sgiv3kg2qa3n7aw3913bmvlcpyhy3w8lls13wjrgif4wny";
sha256 = "0xip58m206p8wa28p0a3y4ykylzr5xzmirjl3dspg4j25r08i8qr";
};
nativeBuildInputs = [

View File

@ -263,12 +263,12 @@ in
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
version = "2019.1.4"; /* updated by script */
version = "2019.2.1"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "0zjcn71fgngkvsixgimzm5afwjbd8zf14zzm6barap4pwp5xx0hb"; /* updated by script */
sha256 = "0va5dcvjxq7mlkz0di5zl1ra5gv6cls3wy40fvkpm2vlirg0m31s"; /* updated by script */
};
wmClass = "jetbrains-datagrip";
update-channel = "DataGrip RELEASE";
@ -367,12 +367,12 @@ in
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
version = "2019.1.2"; /* updated by script */
version = "2019.2"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "1zhci8nkywv66bwc6hbyh4h3x61qhv2fbmfb5gkw9znkk1qa0q6v"; /* updated by script */
sha256 = "1f4mdarmh7m9jq432d0s9jds9288g0zgpxnlpmx12i26vvq8kykd"; /* updated by script */
};
wmClass = "jetbrains-rubymine";
update-channel = "RubyMine RELEASE";

View File

@ -4,12 +4,12 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "kakoune-unwrapped";
version = "2019.01.20";
version = "2019.07.01";
src = fetchFromGitHub {
repo = "kakoune";
owner = "mawww";
rev = "v${version}";
sha256 = "04ak1jm7b1i03sx10z3fxw08rn692y2fj482jn5kpzfzj91b2ila";
sha256 = "0jdkldq5rygzc0wcxr1j4fmp2phciy8602ghhf6xq21a9bq2v639";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
export version="v${version}"
'';
doInstallCheckPhase = true;
installCheckPhase = ''
$out/bin/kak -ui json -E "kill 0"
'';
meta = {
homepage = http://kakoune.org/;
description = "A vim inspired text editor";

View File

@ -1,16 +1,16 @@
{ stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper
{ stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
, msgpack, neovim, pythonPackages, qtbase }:
let
unwrapped = stdenv.mkDerivation rec {
unwrapped = mkDerivation rec {
pname = "neovim-qt-unwrapped";
version = "0.2.11";
version = "0.2.12";
src = fetchFromGitHub {
owner = "equalsraf";
repo = "neovim-qt";
rev = "v${version}";
sha256 = "0pc1adxc89p2rdvb6nxyqr9sjzqz9zw2dg7a4ardxsl3a8jga1wh";
sha256 = "09s3044j0y8nmyi8ykslfii6fx7k9mckmdvb0jn2xmdabpb60i20";
};
cmakeFlags = [
@ -24,7 +24,7 @@ let
jinja2 python msgpack
]);
nativeBuildInputs = [ cmake doxygen makeWrapper ];
nativeBuildInputs = [ cmake doxygen ];
enableParallelBuilding = true;

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "quilter";
version = "1.9.2";
version = "1.9.3";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "10r6d695avxj31yghb82ymgnd7f1dawwbqz3gfy0rycjza9dxvv8";
sha256 = "09acknajbkfpw8f5pay2qj69dzhwbiplsvpp1hy9ma6msmxkr6cm";
};
nativeBuildInputs = [
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
description = "Focus on your writing - designed for elementary OS";
homepage = https://github.com/lainsce/quilter;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ worldofpeace ];
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}

View File

@ -5,13 +5,13 @@
buildPythonApplication rec {
pname = "rednotebook";
version = "2.8";
version = "2.11.1";
src = fetchFromGitHub {
owner = "jendrikseipp";
repo = "rednotebook";
rev = "v${version}";
sha256 = "0k75lw3p6jx30ngvn8iipk1763gazkbrsad3fpl3sqppaqaggryj";
sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1";
};
# We have not packaged tests.
@ -30,6 +30,10 @@ buildPythonApplication rec {
"--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
];
# Until gobject-introspection in nativeBuildInputs is supported.
# https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-472568643
strictDeps = false;
meta = with lib; {
homepage = http://rednotebook.sourceforge.net/;
description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";

View File

@ -4,13 +4,13 @@ with python3.pkgs;
buildPythonApplication rec {
pname = "thonny";
version = "3.1.2";
version = "3.2.0b7";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1simqqxm72k5zhavhllkinsyw8ggy6fjs5ppj82g3l5g3919pfna";
sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh";
};
propagatedBuildInputs = with python3.pkgs; [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, electron_3, dpkg, gtk3, glib, gsettings-desktop-schemas, wrapGAppsHook }:
{ stdenv, fetchurl, makeWrapper, electron_5, dpkg, gtk3, glib, gsettings-desktop-schemas, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "typora";
version = "0.9.72";
version = "0.9.73";
src = fetchurl {
url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
sha256 = "0q7fj77pr3ykpwgip87h12qxvpvlzs15mi9w3phqm3p9mmm9rlrs";
sha256 = "1fgcb4bx5pw8ah5j30d38gw7qi1cmqarfhvgdns9f2n0d57bvvw3";
};
nativeBuildInputs = [
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
makeWrapper ${electron_3}/bin/electron $out/bin/typora \
makeWrapper ${electron_5}/bin/electron $out/bin/typora \
--add-flags $out/share/typora \
"''${gappsWrapperArgs[@]}" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}"
@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
homepage = https://typora.io;
license = licenses.unfree;
maintainers = with maintainers; [ jensbin worldofpeace ];
inherit (electron_3.meta) platforms;
platforms = [ "x86_64-linux"];
};
}

View File

@ -52,13 +52,13 @@
mkDerivation rec {
pname = "digikam";
version = "6.1.0";
version = "6.2.0";
src = fetchFromGitHub {
owner = "KDE";
repo = "digikam";
rev = "v${version}";
sha256 = "0h0jqfgpanhxfi3r7cgip58ppypqx79z6c5jj7i7f19hp2zziip8";
sha256 = "1l1nb1nwicmip2jxhn5gzr7h60igvns0zs3kzp36r6qf4wvg3v2z";
};
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
@ -105,6 +105,8 @@ mkDerivation rec {
threadweaver
];
enableParallelBuilding = true;
cmakeFlags = [
"-DENABLE_MYSQLSUPPORT=1"
"-DENABLE_INTERNALMYSQL=1"

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "10.9.5";
version = "11.1.1";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
sha256 = "13687d5bfxj7wlbh5j13pvxvs69whlg820wllk3pb1xb3syynlpn";
sha256 = "1jibkxx00rma641c3xr7720qj9slqsvhbpi7nawi6f2f91gzyc10";
};
nativeBuildInputs = [

View File

@ -9,11 +9,11 @@ let
pythonPackages = python3Packages;
in stdenv.mkDerivation rec {
name = "freecad-${version}";
version = "0.18.2";
version = "0.18.3";
src = fetchurl {
url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz";
sha256 = "1r5rhaiq22yhrfpmcmzx6bflqj6q9asbyjyfja4x4rzfy9yh0a4v";
sha256 = "07j7azgnicmd8cqnyskp15y44ykgj5qqz5y3w1jdynrv3yrvk1kz";
};
nativeBuildInputs = [ cmake ninja pkgconfig pythonPackages.pyside2-tools ];

View File

@ -1,5 +1,6 @@
{stdenv, fetchFromGitHub, qtbase, mesa_glu}:
stdenv.mkDerivation rec {
{ stdenv, fetchFromGitHub, mkDerivation, qtbase, mesa_glu }:
mkDerivation rec {
name = "fstl-${version}";
version = "0.9.3";

View File

@ -10,11 +10,11 @@
mkDerivation rec {
pname = "krita";
version = "4.2.2";
version = "4.2.5";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
sha256 = "1pzk5bqp3kh22djhvsvmsc7ybirs4hsnkpg1y9677m2gxwbqnnps";
sha256 = "1f14r2mrqasl6nr3sss0xy2h8xlxd5wdcjcd64m9nz2gwlm39r7w";
};
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "openimageio";
version = "2.0.9";
version = "2.0.10";
src = fetchFromGitHub {
owner = "OpenImageIO";
repo = "oiio";
rev = "Release-${version}";
sha256 = "17diyfk586hll54cl476kbhbcm3nihw6cb4bgjkjxxzxbd3wx839";
sha256 = "0k60kgfahsqcgmydsf1kh1qzshn8mksaw772z48a40qnx28pfjys";
};
outputs = [ "bin" "out" "dev" "doc" ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "pdfcpu";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "hhrutter";
repo = pname;
rev = "v${version}";
sha256 = "0cg17nph3qv1ca86j3wcd33vqs6clkzi6y2nrajmk7dq5vbzr6nn";
sha256 = "1knvi0v9nfzw40dayrw5cjidg9h900143v1pi6240yd7r7isx348";
};
modSha256 = "0cz4gs88s9z2yv1gc9ap92vv2j93ab6kr25zjgl2r7z6clbl5fzp";

View File

@ -0,0 +1,45 @@
{ lib
, fetchurl
, appimageTools
, symlinkJoin
}:
let
pname = "runwayml";
version = "0.8.1";
name = "${pname}-${version}";
src = fetchurl {
url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
sha256 = "0pqnlwk804cly2x9kph39g9ps5dv75ybi2v1fgrvmhk3wbmwmpb0";
name="${pname}-${version}.AppImage";
};
binary = appimageTools.wrapType2 {
name = "${pname}";
inherit src;
};
# we only use this to extract the icon
appimage-contents = appimageTools.extractType2 {
inherit name src;
};
in
symlinkJoin {
inherit name;
paths = [ binary ];
postBuild = ''
mkdir -p $out/share/pixmaps/ $out/share/applications
cp ${appimage-contents}/usr/share/icons/hicolor/1024x1024/apps/runway.png $out/share/pixmaps/runway.png
sed 's:Exec=AppRun:Exec=runwayml:' ${appimage-contents}/runway.desktop > $out/share/applications/runway.desktop
'';
meta = with lib; {
description = "Machine learning for creators";
homepage = https://runwayml.com/;
license = licenses.unfree;
maintainers = with maintainers; [ prusnak ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,6 +1,8 @@
{ mkDerivation
, lib
, extra-cmake-modules
, breeze-icons
, breeze-qt5
, kdoctools
, kconfig
, kcrash
@ -19,7 +21,8 @@
, shared-mime-info
, libv4l
, kfilemetadata
, ffmpeg
, ffmpeg-full
, frei0r
, phonon-backend-gstreamer
, qtdeclarative
, qtquickcontrols
@ -37,6 +40,8 @@ mkDerivation {
kdoctools
];
buildInputs = [
breeze-icons
breeze-qt5
kconfig
kcrash
kdbusaddons
@ -59,7 +64,8 @@ mkDerivation {
qtwebkit
shared-mime-info
libv4l
ffmpeg
ffmpeg-full
frei0r
rttr
kpurpose
kdeclarative

View File

@ -1,7 +1,7 @@
{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
, ilmbase, libXi, libX11, libXext, libXrender
, libjpeg, libpng, libsamplerate, libsndfile
, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, pythonPackages
, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
, jackaudioSupport ? false, libjack2
, cudaSupport ? config.cudaSupport or false, cudatoolkit
@ -11,14 +11,15 @@
with lib;
let python = pythonPackages.python; in
let python = python3Packages.python; in
stdenv.mkDerivation rec {
name = "blender-2.79b";
pname = "blender";
version = "2.80";
src = fetchurl {
url = "https://download.blender.org/source/${name}.tar.gz";
sha256 = "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c";
url = "https://download.blender.org/source/${pname}-${version}.tar.gz";
sha256 = "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd";
};
nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath;
@ -36,7 +37,6 @@ stdenv.mkDerivation rec {
postPatch =
''
substituteInPlace doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3
substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
'';
@ -47,10 +47,7 @@ stdenv.mkDerivation rec {
"-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_FFTW3=ON"
#"-DWITH_SDL=ON"
"-DWITH_GAMEENGINE=ON"
"-DWITH_OPENCOLORIO=ON"
"-DWITH_SYSTEM_OPENJPEG=ON"
"-DWITH_PLAYER=ON"
"-DWITH_OPENSUBDIV=ON"
"-DPYTHON_LIBRARY=${python.libPrefix}m"
"-DPYTHON_LIBPATH=${python}/lib"
@ -58,13 +55,10 @@ stdenv.mkDerivation rec {
"-DPYTHON_VERSION=${python.pythonVersion}"
"-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
"-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
]
++ optional jackaudioSupport "-DWITH_JACK=ON"
++ optionals cudaSupport
[ "-DWITH_CYCLES_CUDA_BINARIES=ON"
# Disable architectures before sm_30 to support new CUDA toolkits.
"-DCYCLES_CUDA_BINARIES_ARCH=sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61"
]
++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
++ optional colladaSupport "-DWITH_OPENCOLLADA=ON";
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
@ -78,7 +72,7 @@ stdenv.mkDerivation rec {
postInstall = optionalString enableNumpy
''
wrapProgram $out/bin/blender \
--prefix PYTHONPATH : ${pythonPackages.numpy}/${python.sitePackages}
--prefix PYTHONPATH : ${python3Packages.numpy}/${python.sitePackages}
'';
# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be

View File

@ -49,8 +49,7 @@ stdenv.mkDerivation rec {
]);
qtWrapperArgs = [
"--prefix PYTHONPATH: $PYTHONPATH"
"--prefix PATH: ${poppler_utils.out}/bin}"
"--prefix PATH : ${poppler_utils.out}/bin"
];
installPhase = ''
@ -76,7 +75,7 @@ stdenv.mkDerivation rec {
sed -i "2i import sys; sys.argv[0] = 'calibre'" $out/bin/calibre
for program in $out/bin/*; do
wrapQtApp $program
wrapQtApp $program --prefix PYTHONPATH : $PYTHONPATH
done
# Replace @out@ by the output path.

View File

@ -1,25 +1,24 @@
{ stdenv, fetchurl, pkgconfig, ncurses }:
{ stdenv, fetchFromGitHub, autoreconfHook, ncurses }:
let
version = "1.2a";
in with stdenv.lib;
stdenv.mkDerivation rec {
pname = "cmatrix";
version = "2.0";
name = "cmatrix-${version}";
src = fetchurl{
url = "http://www.asty.org/cmatrix/dist/${name}.tar.gz";
sha256 = "0k06fw2n8nzp1pcdynhajp5prba03gfgsbj91bknyjr5xb5fd9hz";
src = fetchFromGitHub {
owner = "abishekvashok";
repo = "cmatrix";
rev = "v${version}";
sha256 = "1h9jz4m4s5l8c3figaq46ja0km1gimrkfxm4dg7mf4s84icmasbm";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ ncurses ];
meta = {
meta = with stdenv.lib; {
description = "Simulates the falling characters theme from The Matrix movie";
longDescription = ''
CMatrix simulates the display from "The Matrix" and is based
on the screensaver from the movie's website.
on the screensaver from the movie's website.
'';
homepage = http://www.asty.org/cmatrix/;
platforms = ncurses.meta.platforms;

View File

@ -1,21 +1,21 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, qtgraphicaleffects, curaengine, plugins ? [] }:
mkDerivation rec {
name = "cura-${version}";
version = "4.1.0";
pname = "cura";
version = "4.2.1";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "Cura";
rev = version;
sha256 = "1mfpnjrh3splpkadgml3v71k939g56zb9hbmzghwfjwlrf8valmz";
sha256 = "1qnai8vmgy5lx3lapw96j41i8mw9p6r99i3qzs709l9yzrix6l86";
};
materials = fetchFromGitHub {
owner = "Ultimaker";
repo = "fdm_materials";
rev = version;
sha256 = "0yp2162msxfwpixzvassn23p7r3swjpwk4nhsjka5w6fm8pv0wpl";
rev = "4.2.0"; # TODO: change back to `version` after 4.2.1
sha256 = "17x43v0np58qbdfk3wz1k7i9pl0plndx9gmf7y0n23nl9f1qzb0m";
};
buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ];
@ -29,6 +29,11 @@ mkDerivation rec {
"-DCURA_VERSION=${version}"
];
makeWrapperArgs = [
# hacky workaround for https://github.com/NixOS/nixpkgs/issues/59901
"--set OMP_NUM_THREADS 1"
];
postPatch = ''
sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py
@ -52,6 +57,6 @@ mkDerivation rec {
homepage = https://github.com/Ultimaker/Cura;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
maintainers = with maintainers; [ abbradar gebner ];
};
}

View File

@ -1,58 +0,0 @@
{ stdenv, fetchurl, dpkg, bash, python27Packages }:
let
py = python27Packages;
in
stdenv.mkDerivation rec {
name = "cura-lulzbot-${version}";
version = "15.02.1-1.03-5064";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-amd64/cura_${version}_amd64.deb";
sha256 = "1gsfidg3gim5pjbl82vkh0cw4ya253m4p7nirm8nr6yjrsirkzxg";
}
else if stdenv.hostPlatform.system == "i686-linux" then
fetchurl {
url = "http://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-i386/cura_${version}_i386.deb";
sha256 = "0xd3df6bxq4rijgvsqvps454jkc1nzhxbdzzj6j2w317ppsbhyc1";
}
else throw "${name} is not supported on ${stdenv.hostPlatform.system}";
python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ];
pythonPath = python_deps;
propagatedBuildInputs = python_deps;
buildInputs = [ dpkg bash py.wrapPython ];
phases = [ "unpackPhase" "installPhase" ];
unpackPhase = "dpkg-deb -x ${src} ./";
installPhase = ''
mkdir -p $out/bin
cp -r usr/share $out/share
find $out/share -type f -exec sed -i 's|/usr/share/cura|$out/share/cura|g' "{}" \;
cat <<EOT > $out/bin/cura
#!${bash}/bin/bash
PYTHONPATH=$PYTHONPATH:$out/share/cura ${py.python}/bin/python $out/share/cura/cura.py "\$@"
EOT
chmod 555 $out/bin/cura
'';
meta = with stdenv.lib; {
description = "3D printing host software for the Lulzbot";
longDescription = ''
Cura LulzBot Edition is a fork of the 3D printing/slicing
software from Ultimaker, with changes to support 3D printers
from Aleph Objects.
'';
homepage = https://www.lulzbot.com/cura/;
license = licenses.agpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ pjones ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, callPackage, fetchgit, fetchpatch, cmake, libarcusLulzbot, stb, protobuf }:
stdenv.mkDerivation rec {
name = "curaengine-lulzBot-${version}";
version = "3.6.18";
src = fetchgit {
url = https://code.alephobjects.com/source/curaengine-lulzbot.git;
rev = "ec6a1a0f0aa387ef97e5c106633cf8d7fb9cd00d";
sha256 = "0wdkvg1hmqp1gaym804lw09x4ngf5ffasd861jhflpy7djbmkfn8";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libarcusLulzbot stb protobuf ];
cmakeFlags = [ "-DCURA_ENGINE_VERSION=${version}" ];
meta = with stdenv.lib; {
description = "A powerful, fast and robust engine for processing 3D models into 3D printing instruction";
homepage = https://code.alephobjects.com/source/curaengine-lulzbot/;
license = licenses.agpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ chaduffy ];
};
}

View File

@ -0,0 +1,78 @@
{ lib, callPackage, fetchgit, cmake, jq, python3Packages, qtbase, qtquickcontrols2 }:
let
# admittedly, we're using (printer firmware) blobs when we could compile them ourselves.
curaBinaryDataVersion = "3.6.18"; # Marlin v2.0.0.144. Keep this accurate wrt. the below.
curaBinaryData = fetchgit {
url = https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git;
rev = "cdc046494bbfe1f65bfb34659a257eef9a0100a0";
sha256 = "0v0s036gxdjiglas2yzw95alv60sw3pq5k1zrrhmw9mxr4irrblb";
};
libarcusLulzbot = callPackage ./libarcus.nix {
inherit (python3Packages) buildPythonPackage sip pythonOlder;
};
libsavitarLulzbot = callPackage ./libsavitar.nix {
inherit (python3Packages) buildPythonPackage sip pythonOlder;
};
inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
curaengine = callPackage ./curaengine.nix {
inherit libarcusLulzbot;
};
uraniumLulzbot = callPackage ./uranium.nix {
inherit callPackage libarcusLulzbot;
inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder;
};
in
python3Packages.buildPythonApplication rec {
name = "cura-lulzbot-${version}";
version = "3.6.18";
src = fetchgit {
url = https://code.alephobjects.com/source/cura-lulzbot.git;
rev = "71f1ac5a2b9f535175a3858a565930348358a9ca";
sha256 = "0by06fpxvdgy858lwhsccbmvkdq67j2s1cz8v6jnrnjrsxk7vzka";
};
format = "other"; # using cmake to build
buildInputs = [ qtbase qtquickcontrols2 ];
# numpy-stl temporarily disabled due to https://code.alephobjects.com/T8415
propagatedBuildInputs = with python3Packages; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl
nativeBuildInputs = [ cmake python3Packages.wrapPython ];
cmakeFlags = [
"-DURANIUM_DIR=${uraniumLulzbot.src}"
"-DCURA_VERSION=${version}"
];
postPatch = ''
sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py
'';
preFixup = ''
substituteInPlace "$out/bin/cura-lulzbot" --replace 'import cura.CuraApplication' 'import Savitar; import cura.CuraApplication'
ln -sT "${curaBinaryData}/cura/resources/firmware" "$out/share/cura/resources/firmware"
ln -sT "${uraniumLulzbot}/share/uranium" "$out/share/uranium"
${jq}/bin/jq --arg out "$out" '.build=$out' >"$out/version.json" <<'EOF'
${builtins.toJSON {
cura = version;
cura_version = version;
binarydata = curaBinaryDataVersion;
engine = curaengine.version;
libarcus = libarcusLulzbot.version;
libsavitar = libsavitarLulzbot.version;
uranium = uraniumLulzbot.version;
}}
EOF
'';
meta = with lib; {
description = "3D printer / slicing GUI built on top of the Uranium framework";
homepage = https://code.alephobjects.com/diffusion/CURA/;
license = licenses.agpl3; # a partial relicense to LGPL has happened, but not certain that all AGPL bits are expunged
platforms = platforms.linux;
maintainers = with maintainers; [ chaduffy ];
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, buildPythonPackage, fetchgit, fetchurl, cmake, sip, protobuf, pythonOlder }:
buildPythonPackage rec {
pname = "libarcus";
version = "3.6.18";
format = "other";
src = fetchgit {
url = https://code.alephobjects.com/source/arcus.git;
rev = "c795c0644591703ce04e1fd799fc97b1539031aa";
sha256 = "1yap9wbqxbjx3kqyqcsldny4mlcm33ywiwpdjlfgs0wjahfg4ip0";
};
disabled = pythonOlder "3.4.0";
propagatedBuildInputs = [ sip ];
nativeBuildInputs = [ cmake ];
buildInputs = [ protobuf ];
postPatch = ''
# To workaround buggy SIP detection which overrides PYTHONPATH
sed -i '/SET(ENV{PYTHONPATH}/d' cmake/FindSIP.cmake
'';
meta = with stdenv.lib; {
description = "Communication library between internal components for Ultimaker software";
homepage = https://code.alephobjects.com/source/arcus/;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ chaduffy ];
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, buildPythonPackage, pythonOlder, fetchgit, cmake, sip }:
buildPythonPackage rec {
pname = "libsavitar-lulzbot";
name = "libsavitar-lulzbot";
version = "3.6.18";
format = "other";
src = fetchgit {
url = https://code.alephobjects.com/source/savitar.git;
rev = "988a26d35b2a1d042f8c38938ccda77ab146af7d";
sha256 = "146agw3a92azkgs5ahmn2rrck4an78m2r3pcss6ihmb60lx165k7";
};
postPatch = ''
# To workaround buggy SIP detection which overrides PYTHONPATH
sed -i '/SET(ENV{PYTHONPATH}/d' cmake/FindSIP.cmake
'';
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ sip ];
disabled = pythonOlder "3.4.0";
meta = with stdenv.lib; {
description = "C++ implementation of 3mf loading with SIP python bindings";
homepage = https://github.com/Ultimaker/libSavitar;
license = licenses.lgpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ chaduffy ];
};
}

View File

@ -0,0 +1,16 @@
diff --git a/UM/Qt/Bindings/i18nCatalogProxy.py b/UM/Qt/Bindings/i18nCatalogProxy.py
index 7e2bb16c..cec70dd6 100644
--- a/UM/Qt/Bindings/i18nCatalogProxy.py
+++ b/UM/Qt/Bindings/i18nCatalogProxy.py
@@ -86,9 +86,9 @@ class i18nCatalogProxy(QObject): # [CodeStyle: Ultimaker code style requires cla
# \todo Move this to a more generic place so more things can use it.
def _wrapFunction(self, engine, this_object, function):
# JavaScript code that wraps the Python method call in a closure
- wrap_js = """function(this_object) {{
+ wrap_js = """(function(this_object) {{
return function({args}) {{ return this_object.{function}({args}) }}
- }}"""
+ }})"""
# Get the function name and argument list.
function_name = function.__name__

View File

@ -0,0 +1,41 @@
{ stdenv, callPackage, fetchurl, fetchgit, buildPythonPackage, fetchFromGitHub, python, cmake
, pyqt5, numpy, scipy, shapely, libarcusLulzbot, doxygen, gettext, pythonOlder }:
buildPythonPackage rec {
version = "3.6.18";
pname = "uranium";
name = "uraniumLulzbot";
format = "other";
src = fetchgit {
url = https://code.alephobjects.com/diffusion/U/uranium.git;
rev = "33df88a7414375ac924ac761113baa48d2ced2b4";
sha256 = "109cbv7y105crbrzfp70lmcr9n20ap5c97i5qd46fmxbx86yj7f8";
};
disabled = pythonOlder "3.5.0";
buildInputs = [ python gettext ];
propagatedBuildInputs = [ pyqt5 numpy scipy shapely libarcusLulzbot ];
nativeBuildInputs = [ cmake doxygen ];
# Qt 5.12+ support; see https://code.alephobjects.com/rU70b73ba0a270799b9eacf78e400aa8b8ab3fb2ee
patches = [ ./uranium-qt512-support.patch ];
postPatch = ''
sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
sed -i \
-e "s,Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,Resources.addSearchPath(\"$out/share/uranium/resources\")," \
-e "s,self._plugin_registry.addPluginLocation(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,self._plugin_registry.addPluginLocation(\"$out/lib/uranium/plugins\")," \
UM/Application.py
'';
meta = with stdenv.lib; {
description = "A Python framework for building Desktop applications";
homepage = https://code.alephobjects.com/diffusion/U/;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ chaduffy ];
};
}

View File

@ -6,13 +6,13 @@ let
octoprint = stdenv.mkDerivation rec {
pname = "Cura-OctoPrintPlugin";
version = "3.5.5";
version = "3.5.8";
src = fetchFromGitHub {
owner = "fieldOfView";
repo = pname;
rev = "d05a9a4c1a01c584d5cec4f4b7d170077235467a";
sha256 = "0ik69g3kbn7rz2wh0cfq9ww8x222kagd8jvsd4xlqgq4yrf0jk7x";
rev = "46548cbb8d32d10fe3aee12f272d5d8f34271738";
sha256 = "0pllba8qx1746pnf5ccbkqn2j6f8hhknpgyrrv244ykvigrlczx0";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "curaengine-${version}";
version = "4.1.0";
version = "4.2.0";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "CuraEngine";
rev = version;
sha256 = "14zy9ir46vndsi4l8kapm6byw02fimm7ava2rfi0kvcckf5yq9w8";
sha256 = "13hbzsx4fwrbwviyhh8z04gs9b0m8fjl8a31ci7gr2dfdmgjs6pd";
};
nativeBuildInputs = [ cmake ];
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
homepage = https://github.com/Ultimaker/CuraEngine;
license = licenses.agpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
maintainers = with maintainers; [ abbradar gebner ];
};
}

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
version = "6.1.3";
version = "6.1.4";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "1ngfypx0wbq98rv791zls07h46rnj69qixpslw0xn9bb3ky4snbf";
sha256 = "1l4skcannbzddhm773dm3hwv3a7b3xy569gydcfczgdlgzgmlfjq";
};
installPhase = ''

View File

@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation rec {
name = "gImageReader-${version}";
version = "3.3.0";
version = "3.3.1";
src = fetchFromGitHub {
owner= "manisandro";
repo = "gImageReader";
rev = "v${version}";
sha256 = "0pjk4kr7bc5q4hi1xf7na2zln9fyqdazgzq62r3bg41nzy7fakcz";
sha256 = "17hz2dgxx2j7hsk0lx3riidqvlsg0ylnicjd2gphsi3yp7w20zdj";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "gallery_dl";
version = "1.8.6";
version = "1.10.1";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0in47v6c82a6mqg4wzxrji7wd8a9qh5386rsr77s3a8613am1n2x";
sha256 = "174d2q7w0kwa6xx9k3bl5gdwmk0gklvch963g7vl979wqsf7nskw";
};
doCheck = false;

View File

@ -4,11 +4,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "gkrellm-2.3.10";
name = "gkrellm-2.3.11";
src = fetchurl {
url = "http://gkrellm.srcbox.net/releases/${name}.tar.bz2";
sha256 = "0rnpzjr0ys0ypm078y63q4aplcgdr5nshjzhmz330n6dmnxci7lb";
sha256 = "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y";
};
nativeBuildInputs = [ pkgconfig which ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ stdenv, mkDerivation, fetchurl
, qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools, qtconnectivity
, yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
}:
@ -13,7 +13,7 @@ let
comment = "Performance software for cyclists, runners and triathletes";
categories = "Application;Utility;";
};
in stdenv.mkDerivation rec {
in mkDerivation rec {
name = "golden-cheetah-${version}";
version = "3.4";
src = fetchurl {
@ -29,6 +29,9 @@ in stdenv.mkDerivation rec {
NIX_LDFLAGS = [
"-lz"
];
qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ];
preConfigure = ''
cp src/gcconfig.pri.in src/gcconfig.pri
cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
@ -40,7 +43,6 @@ in stdenv.mkDerivation rec {
mkdir -p $out/bin
cp src/GoldenCheetah $out/bin
wrapProgram $out/bin/GoldenCheetah --set LD_LIBRARY_PATH "${zlib.out}/lib"
install -Dm644 "${desktopItem}/share/applications/"* -t $out/share/applications/
install -Dm644 src/Resources/images/gc.png $out/share/pixmaps/goldencheetah.png

View File

@ -1,25 +1,29 @@
{ stdenv, fetchFromGitHub, pkgconfig, libXtst, libvorbis, hunspell
, libao, ffmpeg, libeb, lzo, xz, libtiff
{ mkDerivation, lib, fetchFromGitHub, pkgconfig, libXtst, libvorbis, hunspell
, libao, ffmpeg, libeb, lzo, xz, libtiff, opencc
, qtbase, qtsvg, qtwebkit, qtx11extras, qttools, qmake }:
stdenv.mkDerivation rec {
mkDerivation rec {
name = "goldendict-2018-06-13";
name = "goldendict-2019-08-01";
src = fetchFromGitHub {
owner = "goldendict";
repo = "goldendict";
rev = "48e850c7ec11d83cba7499f7fdce377ef3849bbb";
sha256 = "0i4q4waqjv45hgwillvjik97pg26kwlmz4925djjkx8s6hxgjlq9";
rev = "0f951b06a55f3a201891cf645a556e773bda5f52";
sha256 = "1d1hn95vhvsmbq9q96l5adn90g0hg25dl01knb4y4v6v9x4yrl2x";
};
nativeBuildInputs = [ pkgconfig qmake ];
buildInputs = [
qtbase qtsvg qtwebkit qtx11extras qttools
libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff
libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff opencc
];
qmakeFlags = [ "CONFIG+=zim_support" ];
qmakeFlags = [
"goldendict.pro"
"CONFIG+=zim_support"
"CONFIG+=chinese_conversion_support"
];
meta = with stdenv.lib; {
meta = with lib; {
homepage = http://goldendict.org/;
description = "A feature-rich dictionary lookup program";
platforms = platforms.linux;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "jgmenu";
version = "3.1";
version = "3.3";
src = fetchFromGitHub {
owner = "johanmalm";
repo = pname;
rev = "v${version}";
sha256 = "03lk89d6wvqv234qciksd4zm0z4lkvrxfh6r9ff0d8yzg67m7rd0";
sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l";
};
nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv
{ mkDerivation
, lib
, fetchurl
, extra-cmake-modules
@ -18,7 +18,7 @@
, kwayland
}:
stdenv.mkDerivation rec {
mkDerivation rec {
pname = "kdeconnect";
version = "1.3.4";

View File

@ -2,11 +2,11 @@
, desktop-file-utils, libSM, imagemagick }:
stdenv.mkDerivation rec {
version = "19.04";
version = "19.07";
name = "mediainfo-gui-${version}";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "11wag23gx7nprrm1qlgvbc83rs9zxdsshqrp98zwia80xh8c9bk5";
sha256 = "0b2ypdlpj5v64ggqk628mgqraba27z725sa0zf0fa4agxhf9ka44";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -1,71 +1,85 @@
{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check, SDL
, libxml2, libidn, perl, nettools, perlPackages
, libXcursor, libXrandr, makeWrapper
{ stdenv, fetchurl, fetchpatch, makeWrapper, wrapGAppsHook
# Buildtime dependencies.
, check, pkgconfig, xxd
# Runtime dependencies.
, curl, expat, libXcursor, libXrandr, libidn, libjpeg, libpng, libwebp, libxml2
, openssl, perl, perlPackages
# uilib-specific dependencies
, gtk2 # GTK 2
, SDL # Framebuffer
# Configuration
, uilib ? "framebuffer"
, buildsystem
, nsgenbind
, libnsfb
, libwapcaplet
, libparserutils
, libcss
, libhubbub
, libdom
, libnsbmp
, libnsgif
, libnsutils
, libutf8proc
# Netsurf-specific dependencies
, libcss, libdom, libhubbub, libnsbmp, libnsfb, libnsgif
, libnslog, libnspsl, libnsutils, libparserutils, libsvgtiny, libutf8proc
, libwapcaplet, nsgenbind
}:
let
inherit (stdenv.lib) optional optionals;
in
stdenv.mkDerivation rec {
name = "netsurf-${version}";
version = "3.5";
# UI libs incldue Framebuffer, and gtk
version = "3.9";
src = fetchurl {
url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
sha256 = "1k0x8mzgavfy7q9kywl6kzsc084g1xlymcnsxi5v6jp279nsdwwq";
sha256 = "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libpng openssl curl gtk2 check libxml2 libidn perl
nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper SDL
buildsystem
nsgenbind
libnsfb
libwapcaplet
libparserutils
libcss
libhubbub
libdom
libnsbmp
libnsgif
libnsutils
patches = [
# GTK: prefer using curl's intrinsic defaults for CURLOPT_CA*
(fetchpatch {
name = "0001-GTK-prefer-using-curl-s-intrinsic-defaults-for-CURLO.patch";
url = "http://source.netsurf-browser.org/netsurf.git/patch/?id=87177d8aa109206d131e0d80a2080ce55dab01c7";
sha256 = "08bc60pc5k5qpckqv21zgmgszj3rpwskfc84shs8vg92vkimv2ai";
})
];
nativeBuildInputs = [
makeWrapper
perl
perlPackages.HTMLParser
pkgconfig
xxd
]
++ optional (uilib == "gtk") wrapGAppsHook
;
buildInputs = [
check curl libXcursor libXrandr libidn libjpeg libpng libwebp libxml2 openssl
# Netsurf-specific libraries
nsgenbind libnsfb libwapcaplet libparserutils libnslog libcss
libhubbub libdom libnsbmp libnsgif libsvgtiny libnsutils libnspsl
libutf8proc
];
]
++ optionals (uilib == "framebuffer") [ expat SDL ]
++ optional (uilib == "gtk") gtk2
;
preConfigure = ''
cat <<EOF > Makefile.conf
override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${uilib}/res
override NETSURF_GTK_RES_PATH := $out/share/
override NETSURF_USE_GRESOURCE := YES
EOF
'';
makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
"PREFIX=${placeholder "out"}"
"TARGET=${uilib}"
];
installPhase = ''
mkdir -p $out/bin $out/share/Netsurf/${uilib}
cmd=$(case "${uilib}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac)
cp $cmd $out/bin/netsurf
wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${uilib}/res
tar -hcf - ${uilib}/res | (cd $out/share/Netsurf/ && tar -xvpf -)
'';
meta = with stdenv.lib; {
homepage = http://www.netsurf-browser.org/;
description = "Free opensource web browser";

View File

@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libcss";
version = "0.6.0";
version = "0.9.0";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0qp4p1q1dwgdra4pkrzd081zjzisxkgwx650ijx323j8bj725daf";
sha256 = "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libdom";
version = "0.3.0";
version = "0.4.0";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1kk6qbqagx5ypiy9kf0059iqdzyz8fqaw336vzhb5gnrzjw3wv4a";
sha256 = "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libhubbub";
version = "0.3.3";
version = "0.3.6";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "101781iw32p47386fxqr01nrkywi12w17ajh02k2vlga4z8zyv86";
sha256 = "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnsbmp";
version = "0.1.3";
version = "0.1.5";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0gmvzw1whh7553d6s98vr4ri2whjwrgggcq1z5b160gwjw20mzyy";
sha256 = "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnsfb";
version = "0.1.4";
version = "0.2.1";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "176f8why9gzbaca9nnxjqasl02qzc6g507z5w3dzkcjifnkz4mzl";
sha256 = "09qag9lgn5ahanbcyf2rvfmsz15vazfwnl8xpn8f1iczd44b0bv0";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnsgif";
version = "0.1.3";
version = "0.2.1";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1a4z45gh0fw4iybf34fig725av25h31ffk0azi0snzh4130cklnk";
sha256 = "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -0,0 +1,33 @@
{ stdenv, fetchurl, pkgconfig, bison, flex
, buildsystem
}:
stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnslog";
version = "0.1.2";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd";
};
nativeBuildInputs = [ pkgconfig bison flex ];
buildInputs = [
buildsystem
];
makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];
meta = with stdenv.lib; {
homepage = http://www.netsurf-browser.org/;
description = "NetSurf Parametric Logging Library";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, fetchurl, pkgconfig
, buildsystem
}:
stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnspsl";
version = "0.1.5";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
buildsystem
];
makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];
meta = with stdenv.lib; {
homepage = http://www.netsurf-browser.org/;
description = "NetSurf Public Suffix List - Handling library";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
platforms = platforms.linux;
};
}

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libnsutils";
version = "0.0.2";
version = "0.0.5";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "03p4xmd08yhj70nyj7acjccmmshs59lv4n4zsqpsn5lgkwa23lzy";
sha256 = "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libparserutils";
version = "0.2.3";
version = "0.2.4";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5";
sha256 = "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj";
};
buildInputs = [ buildsystem perl ];

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, pkgconfig, gperf
, buildsystem
, libdom
, libhubbub
, libparserutils
, libwapcaplet
}:
stdenv.mkDerivation rec {
name = "netsurf-${libname}-${version}";
libname = "libsvgtiny";
version = "0.1.7";
src = fetchurl {
url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
sha256 = "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c";
};
nativeBuildInputs = [ pkgconfig gperf ];
buildInputs = [
buildsystem
libdom
libhubbub
libparserutils
libwapcaplet
];
makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
];
meta = with stdenv.lib; {
homepage = http://www.netsurf-browser.org/;
description = "NetSurf SVG decoder";
license = licenses.mit;
maintainers = [ maintainers.samueldr ];
platforms = platforms.linux;
};
}

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