push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
diff --git a/src/appearance.c b/src/appearance.c
index 4fb3f0c..7ae9cab 100644
--- a/src/appearance.c
+++ b/src/appearance.c
@@ -20,6 +20,7 @@
#include "main.h"
#include "tree.h"
#include "preview_update.h"
+#include <ctype.h>
static gboolean mapping = FALSE;
diff --git a/src/desktops.h b/src/desktops.h
index 1ba3e36..968595e 100644
--- a/src/desktops.h
+++ b/src/desktops.h
@@ -22,6 +22,7 @@
#include <gtk/gtk.h>
+void desktops_setup_tab();
void desktops_setup_num(GtkWidget *w);
void desktops_setup_names(GtkWidget *w);
diff --git a/src/main.c b/src/main.c
index d7e3446..fdfae54 100644
--- a/src/main.c
+++ b/src/main.c
@@ -28,6 +28,8 @@
#include "dock.h"
#include "preview_update.h"
#include "gettext.h"
+#include "desktops.h"
+#include "moveresize.h"
#include <gdk/gdkx.h>
#define SN_API_NOT_YET_FROZEN

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchgit,
autoreconfHook,
pkg-config,
wrapGAppsHook3,
gtk3,
imlib2,
libSM,
libstartup_notification,
libxml2,
openbox,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "obconf";
version = "unstable-2015-02-13";
src = fetchgit {
url = "git://git.openbox.org/dana/obconf";
rev = "63ec47c5e295ad4f09d1df6d92afb7e10c3fec39";
hash = "sha256-qwm66VA/ueRMFtSUcrmuObNkz+KYgWRnmR7TnQwpxiE=";
};
patches = [ ./fix-implicit-declarations.patch ];
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
imlib2
libSM
libstartup_notification
libxml2
openbox
];
strictDeps = true;
postPatch = ''
substituteInPlace configure.ac --replace-fail 2.0.4 ${finalAttrs.version}
'';
meta = {
description = "GUI configuration tool for openbox";
homepage = "http://openbox.org/wiki/ObConf";
changelog = "http://openbox.org/wiki/ObConf:Changelog";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.sfrijters ];
platforms = lib.platforms.linux;
mainProgram = "obconf";
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchFromGitHub,
SDL2,
}:
stdenv.mkDerivation {
pname = "oberon-risc-emu";
version = "unstable-2020-08-18";
src = fetchFromGitHub {
owner = "pdewacht";
repo = "oberon-risc-emu";
rev = "26c8ac5737c71811803c87ad51f1f0d6e62e71fe";
sha256 = "1iriix3cfcpbkjb5xjb4ysh592xppgprwzp3b6qhwcx44g7kdvxq";
};
buildInputs = [ SDL2 ];
installPhase = ''
mkdir -p $out/bin
mv risc $out/bin
'';
meta = with lib; {
homepage = "https://github.com/pdewacht/oberon-risc-emu/";
description = "Emulator for the Oberon RISC machine";
license = licenses.isc;
maintainers = with maintainers; [ siraben ];
mainProgram = "risc";
};
}

View File

@@ -0,0 +1,56 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2012-07-06
Initial Package Version: 0.4.6
Upstream Status: Unknown
Origin: Self
Description: Some build fixes.
--- obex-data-server.orig/src/ods-obex.c 2011-02-10 10:14:42.000000000 +0100
+++ obex-data-server/src/ods-obex.c 2012-07-06 20:10:09.208712553 +0200
@@ -412,7 +412,7 @@
goto err;
}
- interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf);
+ interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle);
if (intf_num >= interfaces_num) {
g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number");
goto err;
@@ -1928,7 +1928,7 @@
gchar *uname;
gsize uname_len;
- if (action != OBEX_ACTION_SETPERM)
+ if (action != 0x03)
g_assert (src && dst);
object = OBEX_ObjectNew (obex_context->obex_handle, OBEX_CMD_ACTION);
@@ -1974,7 +1974,7 @@
OBEX_HDR_ACTION_ID, hv, 1, 0);
/* permissions header */
- if (action == OBEX_ACTION_SETPERM) {
+ if (action == 0x03) {
hv.bq4 = perms;
ret = OBEX_ObjectAddHeader (obex_context->obex_handle, object,
OBEX_HDR_PERMISSIONS, hv, 4, 0);
--- obex-data-server.orig/src/ods-session.c 2011-02-10 09:57:31.000000000 +0100
+++ obex-data-server/src/ods-session.c 2012-07-06 20:10:09.208712553 +0200
@@ -1761,7 +1761,7 @@
DBusGMethodInvocation *context)
{
return ods_session_remote_action (session, remote_source,
- remote_destination, OBEX_ACTION_COPY,
+ remote_destination, 0x00,
context);
}
@@ -1772,7 +1772,7 @@
DBusGMethodInvocation *context)
{
return ods_session_remote_action (session, remote_source,
- remote_destination, OBEX_ACTION_MOVE,
+ remote_destination, 0x01,
context);
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
libusb-compat-0_1,
glib,
dbus-glib,
bluez,
openobex,
dbus,
}:
stdenv.mkDerivation rec {
pname = "obex-data-server";
version = "0.4.6";
src = fetchurl {
url = "http://tadas.dailyda.com/software/obex-data-server-${version}.tar.gz";
sha256 = "0kq940wqs9j8qjnl58d6l3zhx0jaszci356xprx23l6nvdfld6dk";
};
strictDeps = true;
nativeBuildInputs = [
pkg-config
dbus-glib # required for dbus-binding-tool
];
buildInputs = [
libusb-compat-0_1
glib
dbus-glib
bluez
openobex
dbus
];
patches = [ ./obex-data-server-0.4.6-build-fixes-1.patch ];
preConfigure = ''
addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig
export PKG_CONFIG_PATH="${dbus.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
'';
meta = with lib; {
homepage = "http://wiki.muiline.com/obex-data-server";
platforms = platforms.linux;
license = licenses.gpl2Plus;
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
glib,
dbus,
openobex,
bluez,
libical,
}:
stdenv.mkDerivation rec {
pname = "obexd";
version = "0.48";
src = fetchurl {
url = "mirror://kernel/linux/bluetooth/obexd-${version}.tar.bz2";
sha256 = "1i20dnibvnq9lnkkhajr5xx3kxlwf9q5c4jm19kyb0q1klzgzlb8";
};
buildInputs = [
glib
dbus
openobex
bluez
libical
];
nativeBuildInputs = [ pkg-config ];
meta = with lib; {
homepage = "https://www.bluez.org/";
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
bluez,
fuse,
obexftp,
}:
stdenv.mkDerivation rec {
pname = "obexfs";
version = "0.12";
src = fetchurl {
url = "mirror://sourceforge/openobex/obexfs-${version}.tar.gz";
sha256 = "1g3krpygk6swa47vbmp9j9s8ahqqcl9ra8r25ybgzv2d9pmjm9kj";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fuse
obexftp
bluez
];
meta = with lib; {
homepage = "http://dev.zuckschwerdt.org/openobex/wiki/ObexFs";
description = "Tool to mount OBEX-based devices (such as Bluetooth phones)";
platforms = platforms.linux;
license = licenses.lgpl2Plus;
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
openobex,
bluez,
cmake,
}:
stdenv.mkDerivation rec {
pname = "obexftp";
version = "0.24.2";
src = fetchurl {
url = "mirror://sourceforge/openobex/obexftp-${version}-Source.tar.gz";
sha256 = "18w9r78z78ri5qc8fjym4nk1jfbrkyr789sq7rxrkshf1a7b83yl";
};
nativeBuildInputs = [
pkg-config
cmake
];
buildInputs = [ bluez ];
propagatedBuildInputs = [ openobex ];
postPatch = ''
# cmake 4 compatibility, upstream is dead
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required( VERSION 3.1 FATAL_ERROR )" "cmake_minimum_required( VERSION 3.10 FATAL_ERROR )" \
--replace-fail "cmake_policy ( VERSION 3.1 )" "cmake_policy ( VERSION 3.10 )"
# https://sourceforge.net/p/openobex/bugs/66/
substituteInPlace CMakeLists.txt \
--replace-fail '\$'{prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \
--replace-fail '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR}
'';
# There's no such thing like "bluetooth" library; possibly they meant "bluez" but it links correctly without this.
postFixup = ''
sed -i 's,^Requires: bluetooth,Requires:,' $out/lib/pkgconfig/obexftp.pc
'';
meta = with lib; {
homepage = "http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp";
description = "Library and tool to access files on OBEX-based devices (such as Bluetooth phones)";
platforms = platforms.linux;
license = licenses.lgpl2Plus;
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
buildGoModule,
fetchFromGitLab,
installShellFiles,
}:
buildGoModule rec {
pname = "obfs4";
version = "0.4.0";
src = fetchFromGitLab {
domain = "gitlab.torproject.org";
group = "tpo";
owner = "anti-censorship/pluggable-transports";
# We don't use pname = lyrebird and we use the old obfs4 name as the first
# will collide with lyrebird Gtk3 program.
repo = "lyrebird";
rev = "lyrebird-${version}";
hash = "sha256-aPALWvngC/BVQO73yUAykHvEb6T0DZcGMowXINDqhpQ=";
};
vendorHash = "sha256-iR3+ZMEF0SB3EoLTf2gtqTe3CQcjtDRhfwwbwGj3pXo=";
ldflags = [
"-s"
"-w"
];
subPackages = [ "cmd/lyrebird" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installManPage doc/lyrebird.1
ln -s $out/share/man/man1/{lyrebird,obfs4proxy}.1
'';
meta = with lib; {
description = "Circumvents censorship by transforming Tor traffic between clients and bridges";
longDescription = ''
Obfs4proxy is a tool that attempts to circumvent censorship by
transforming the Tor traffic between the client and the bridge.
This way censors, who usually monitor traffic between the client
and the bridge, will see innocent-looking transformed traffic
instead of the actual Tor traffic. obfs4proxy implements the
obfsucation protocols obfs2, obfs3, and obfs4. It is written in
Go and is compliant with the Tor pluggable transports
specification, and its modular architecture allows it to support
multiple pluggable transports.
'';
homepage = "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird";
maintainers = with maintainers; [ thoughtpolice ];
mainProgram = "lyrebird";
changelog = "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/-/raw/${src.rev}/ChangeLog";
license = with lib.licenses; [
bsd2
bsd3
gpl3
];
};
}

View File

@@ -0,0 +1,47 @@
{
stdenv,
lib,
fetchurl,
python3Packages,
cmake,
python3,
}:
python3Packages.buildPythonApplication rec {
pname = "obitools3";
version = "3.0.1b11";
format = "setuptools";
src = fetchurl {
url = "https://git.metabarcoding.org/obitools/${pname}/repository/v${version}/archive.tar.gz";
sha256 = "1x7a0nrr9agg1pfgq8i1j8r1p6c0jpyxsv196ylix1dd2iivmas1";
};
nativeBuildInputs = [
python3Packages.cython
cmake
];
postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
substituteInPlace setup.py \
--replace "'-msse2'," ""
'';
preBuild = ''
substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/${python3.sitePackages}";
export NIX_CFLAGS_COMPILE="-L $out/${python3.sitePackages} $NIX_CFLAGS_COMPILE"
'';
dontConfigure = true;
doCheck = true;
meta = with lib; {
description = "Management of analyses and data in DNA metabarcoding";
mainProgram = "obi";
homepage = "https://git.metabarcoding.org/obitools/obitools3";
license = licenses.cecill20;
maintainers = [ maintainers.bzizou ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "obj-magic";
version = "0.5-unstable-2020-09-20";
src = fetchFromGitHub {
owner = "tapio";
repo = "obj-magic";
rev = "f25c9b78cee6529a3295ed314d1c200677dc56c0";
hash = "sha256-4A8TasyLOh6oz21/AwBbE5s3055EPftFh8mymrveTvY=";
};
buildPhase = ''
runHook preBuild
./make.sh
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D obj-magic $out/bin/obj-magic
runHook postInstall
'';
meta = {
description = "Command line tool for manipulating Wavefront OBJ 3D meshes";
homepage = "https://github.com/tapio/obj-magic";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ lorenz ];
platforms = lib.platforms.unix;
mainProgram = "obj-magic";
};
}

17
pkgs/by-name/ob/obj2tiles/deps.json generated Normal file
View File

@@ -0,0 +1,17 @@
[
{
"pname": "CommandLineParser",
"version": "2.9.1",
"hash": "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "SixLabors.ImageSharp",
"version": "3.1.5",
"hash": "sha256-3UehX9T+I81nfgv2dTHlpoPgYzXFk7kHr1mmlQOCBfw="
}
]

View File

@@ -0,0 +1,32 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildDotnetModule (finalAttrs: {
pname = "obj2tiles";
version = "1.0.13";
src = fetchFromGitHub {
owner = "OpenDroneMap";
repo = "Obj2Tiles";
tag = "v${finalAttrs.version}";
hash = "sha256-GLMLBmkVhuh8iYAxjD2XXnOvkw8dMuKTH49vvvSNHBI=";
};
projectFile = "Obj2Tiles/Obj2Tiles.csproj";
nugetDeps = ./deps.json;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/Obj2Tiles";
versionCheckProgramArg = "--version";
doInstallCheck = true;
meta = {
description = "Converts OBJ files to OGC 3D tiles by performing splitting, decimation and conversion";
homepage = "https://github.com/OpenDroneMap/Obj2Tiles";
changelog = "https://github.com/OpenDroneMap/Obj2Tiles/releases/tag/v${finalAttrs.version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ mapperfr ];
mainProgram = "Obj2Tiles";
};
})

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchurl,
unzip,
}:
stdenv.mkDerivation rec {
pname = "objconv";
version = "2.54.1";
src = fetchurl {
# Versioned archive of objconv sources maintained by orivej.
url = "https://archive.org/download/objconv/${pname}-${version}.zip";
sha256 = "sha256-DFyo+8fvHEr+PMfMkBhxGliFr6y+i868SAKNHskMzHw=";
};
nativeBuildInputs = [ unzip ];
outputs = [
"out"
"doc"
];
unpackPhase = ''
mkdir -p "$name"
cd "$name"
unpackFile "$src"
unpackFile source.zip
'';
buildPhase = "c++ -o objconv -O2 *.cpp";
installPhase = ''
mkdir -p $out/bin $out/doc/objconv
mv objconv $out/bin
mv objconv-instructions.pdf $out/doc/objconv
'';
meta = with lib; {
description = "Object and executable file converter, modifier and disassembler";
mainProgram = "objconv";
homepage = "https://www.agner.org/optimize/";
license = licenses.gpl2;
maintainers = with maintainers; [ orivej ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,46 @@
{
autoconf,
autogen,
automake,
clangStdenv,
fetchfossil,
lib,
objfw,
writeTextDir,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "objfw";
version = "1.3.2";
src = fetchfossil {
url = "https://objfw.nil.im/home";
rev = "${finalAttrs.version}-release";
hash = "sha256-cFYsiNG60FyDXAeiuBZn/u/1dEawVAxF7EDFBZRYt7w=";
};
nativeBuildInputs = [
automake
autogen
autoconf
];
preConfigure = "./autogen.sh";
configureFlags = [
"--without-tls"
];
doCheck = true;
passthru.tests = {
build-hello-world = (import ./test-build-and-run.nix) { inherit clangStdenv objfw writeTextDir; };
};
meta = {
description = "Portable framework for the Objective-C language";
homepage = "https://objfw.nil.im";
license = lib.licenses.lgpl3;
maintainers = [ lib.maintainers.steeleduncan ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,44 @@
{
clangStdenv,
objfw,
writeTextDir,
}:
clangStdenv.mkDerivation {
name = "ObjFW test";
buildInputs = [ objfw ];
src = writeTextDir "helloworld.m" ''
#import <ObjFW/ObjFW.h>
int main() {
OFLog(@"Hello world from objc");
return 0;
}
'';
buildPhase = ''
runHook preBuild
clang -o testbinary \
-x objective-c -Xclang \
-fobjc-runtime=objfw \
-funwind-tables \
-fconstant-string-class=OFConstantString \
-Xclang -fno-constant-cfstrings \
helloworld.m \
-lobjfw -lobjfwrt
runHook postBuild
'';
checkPhase = ''
runHook preCheck
./testbinary
runHook postCheck
'';
doCheck = true;
installPhase = ''
runHook preInstall
touch $out
runHook postInstall
'';
}

View File

@@ -0,0 +1,43 @@
{
lib,
rustPlatform,
fetchFromGitHub,
libcosmicAppHook,
sqlite,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oboete";
version = "0.1.12";
src = fetchFromGitHub {
owner = "mariinkys";
repo = "oboete";
tag = finalAttrs.version;
hash = "sha256-npvv2ZuMoZJnuwzRzbH+kQ5/IjlS6QuLi2rDmKwSoWQ=";
};
cargoHash = "sha256-hOvITZJfFyJbCV9+SuyVVwsY1/OGRXlJeKB/opVGrnI=";
nativeBuildInputs = [ libcosmicAppHook ];
buildInputs = [ sqlite ];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Simple flashcards application for the COSMIC desktop written in Rust";
homepage = "https://github.com/mariinkys/oboete";
changelog = "https://github.com/mariinkys/oboete/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
GaetanLepage
HeitorAugustoLN
];
platforms = lib.platforms.linux;
mainProgram = "oboete";
};
})

View File

@@ -0,0 +1,41 @@
{
lib,
buildGoModule,
fetchFromGitHub,
makeWrapper,
}:
buildGoModule rec {
pname = "obs-cli";
version = "0.5.0";
src = fetchFromGitHub {
owner = "muesli";
repo = "obs-cli";
tag = "v${version}";
hash = "sha256-4tjS+PWyP/T0zs4IGE6VQ5c+3tuqxlBwfpPBVEcim6c=";
};
vendorHash = "sha256-tjQOHvmhHyVMqIJQvFaisEqci1wkB4ke/a+GSgwXzCo=";
proxyVendor = true;
nativeBuildInputs = [
makeWrapper
];
ldflags = [
"-s"
"-w"
];
meta = {
description = "Command-line remote control for OBS";
homepage = "https://github.com/muesli/obs-cli";
changelog = "https://github.com/muesli/obs-cli/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ flexiondotorg ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "obs-cli";
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "obs-cmd";
version = "0.19.2";
src = fetchFromGitHub {
owner = "grigio";
repo = "obs-cmd";
tag = "v${finalAttrs.version}";
hash = "sha256-a7GUv14iJLrgXu6y5uJalD1cx723aIlPLDPOOoemtIY=";
};
cargoHash = "sha256-ZWVNLI900SZhXLMV2/v3WT2eqv+4XofpIgm/f/0eE+U=";
meta = {
description = "Minimal CLI to control OBS Studio via obs-websocket";
homepage = "https://github.com/grigio/obs-cmd";
changelog = "https://github.com/grigio/obs-cmd/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [ ];
mainProgram = "obs-cmd";
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "obs-do";
version = "0.1.11";
src = fetchFromGitHub {
owner = "jonhoo";
repo = "obs-do";
tag = "v${finalAttrs.version}";
hash = "sha256-EbwgYBvHsfUNmv3y5r6nfK6C4sqZ7ZkG4HTb3+0cA3o=";
};
cargoHash = "sha256-LOoMtzIRaoAg02gY7EWj9A8vsjdUyEnxNy38Z5dFs+4=";
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "CLI for common OBS operations while streaming using WebSocket";
homepage = "https://github.com/jonhoo/obs-do";
license = with lib.licenses; [
asl20
mit
];
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "obs-do";
};
})

View File

@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "obsidian-export";
version = "25.3.0";
src = fetchFromGitHub {
owner = "zoni";
repo = "obsidian-export";
rev = "v${version}";
hash = "sha256-FcySNccDVeftX5BKVwYXdufsCmG8YuFBQrbSqibbVV8=";
};
cargoHash = "sha256-2rP1ks+47fI5Os7ltktPVUzvYss+KkjftrE4G0cl8XI=";
meta = {
changelog = "https://github.com/zoni/obsidian-export/blob/${src.rev}/CHANGELOG.md";
description = "Rust library and CLI to export an Obsidian vault to regular Markdown";
homepage = "https://github.com/zoni/obsidian-export";
license = lib.licenses.bsd2Patent;
mainProgram = "obsidian-export";
maintainers = with lib.maintainers; [ tomasajt ];
};
}

View File

@@ -0,0 +1,131 @@
{
stdenv,
fetchurl,
lib,
makeWrapper,
electron,
makeDesktopItem,
imagemagick,
writeScript,
_7zz,
commandLineArgs ? "",
}:
let
pname = "obsidian";
version = "1.9.14";
appname = "Obsidian";
meta = with lib; {
description = "Powerful knowledge base that works on top of a local folder of plain text Markdown files";
homepage = "https://obsidian.md";
downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases";
mainProgram = "obsidian";
license = licenses.obsidian;
maintainers = with maintainers; [
atila
conradmearns
zaninime
qbit
kashw2
w-lfchen
];
};
filename =
if stdenv.hostPlatform.isDarwin then "Obsidian-${version}.dmg" else "obsidian-${version}.tar.gz";
src = fetchurl {
url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
hash =
if stdenv.hostPlatform.isDarwin then
"sha256-C9sk1Nv5Yw+MMwapqnzTHbW/IQbd1fc8PSp4PBrnhzo="
else
"sha256-vS8PCz8dpMFvJCF1Heu2m+Qj9hl2ZmxNM0AwB6CbU88=";
};
icon = fetchurl {
url = "https://obsidian.md/images/obsidian-logo-gradient.svg";
hash = "sha256-EZsBuWyZ9zYJh0LDKfRAMTtnY70q6iLK/ggXlplDEoA=";
};
desktopItem = makeDesktopItem {
name = "obsidian";
desktopName = "Obsidian";
comment = "Knowledge base";
icon = "obsidian";
exec = "obsidian %u";
categories = [ "Office" ];
mimeTypes = [ "x-scheme-handler/obsidian" ];
};
linux = stdenv.mkDerivation {
inherit
pname
version
src
desktopItem
icon
;
meta = meta // {
platforms = [
"x86_64-linux"
"aarch64-linux"
];
};
nativeBuildInputs = [
makeWrapper
imagemagick
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
makeWrapper ${electron}/bin/electron $out/bin/obsidian \
--add-flags $out/share/obsidian/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
install -m 444 -D resources/app.asar $out/share/obsidian/app.asar
install -m 444 -D resources/obsidian.asar $out/share/obsidian/obsidian.asar
install -m 444 -D "${desktopItem}/share/applications/"* \
-t $out/share/applications/
for size in 16 24 32 48 64 128 256 512; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
magick -background none ${icon} -resize "$size"x"$size" $out/share/icons/hicolor/"$size"x"$size"/apps/obsidian.png
done
runHook postInstall
'';
passthru.updateScript = writeScript "updater" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
set -eu -o pipefail
latestVersion="$(curl -sS https://raw.githubusercontent.com/obsidianmd/obsidian-releases/master/desktop-releases.json | jq -r '.latestVersion')"
update-source-version obsidian "$latestVersion"
'';
};
darwin = stdenv.mkDerivation {
inherit
pname
version
src
appname
;
meta = meta // {
platforms = [
"x86_64-darwin"
"aarch64-darwin"
];
};
sourceRoot = "${appname}.app";
nativeBuildInputs = [
makeWrapper
_7zz
];
installPhase = ''
runHook preInstall
mkdir -p $out/{Applications/${appname}.app,bin}
cp -R . $out/Applications/${appname}.app
makeWrapper $out/Applications/${appname}.app/Contents/MacOS/${appname} $out/bin/${pname}
runHook postInstall
'';
};
in
if stdenv.hostPlatform.isDarwin then darwin else linux

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
ocamlPackages,
}:
stdenv.mkDerivation rec {
pname = "obuild";
version = "0.1.11";
src = fetchFromGitHub {
owner = "ocaml-obuild";
repo = "obuild";
rev = "obuild-v${version}";
hash = "sha256-me9/FVD7S0uPIpFZzcxDfYKVWn9ifq6JryBAGCo681I=";
};
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [
ocaml
findlib
];
buildPhase = ''
patchShebangs ./bootstrap
./bootstrap
'';
installPhase = ''
mkdir -p $out/bin
cp dist/build/obuild/obuild dist/build/obuild-from-oasis/obuild-from-oasis dist/build/obuild-simple/obuild-simple $out/bin/
'';
meta = {
homepage = "https://github.com/ocaml-obuild/obuild";
inherit (ocamlPackages.ocaml.meta) platforms;
description = "Simple package build system for OCaml";
license = lib.licenses.lgpl21;
maintainers = [ ];
};
}