uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
15
pkgs/desktops/arcan/arcan/000-openal.patch
Normal file
15
pkgs/desktops/arcan/arcan/000-openal.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
|
||||
--- source-old/src/CMakeLists.txt 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/src/CMakeLists.txt 2021-10-29 12:03:06.461399341 -0300
|
||||
@@ -362,10 +360,8 @@
|
||||
if (EXISTS ${EXTERNAL_SRC_DIR}/git/openal AND STATIC_OPENAL)
|
||||
amsg("${CL_YEL}Building OpenAL static from external/git mirror${CL_RST}")
|
||||
ExternalProject_Add(OpenAL
|
||||
- SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/openal
|
||||
+ SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/openal"
|
||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/openal_static
|
||||
- UPDATE_COMMAND ""
|
||||
- GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/openal"
|
||||
${EXTERNAL_DEFS}
|
||||
${CMAKE_EXTERNAL_DEFS}
|
||||
-DALSOFT_BACKEND_DSOUND=OFF
|
||||
17
pkgs/desktops/arcan/arcan/001-luajit.patch
Normal file
17
pkgs/desktops/arcan/arcan/001-luajit.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
|
||||
--- source-old/src/CMakeLists.txt 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/src/CMakeLists.txt 2021-10-29 12:03:06.461399341 -0300
|
||||
@@ -419,12 +415,7 @@
|
||||
set(LUA_TAG "luajit51")
|
||||
if (EXISTS ${EXTERNAL_SRC_DIR}/git/luajit)
|
||||
ExternalProject_Add(luajit
|
||||
- SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/luajit
|
||||
- GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/luajit"
|
||||
- CONFIGURE_COMMAND ""
|
||||
- GIT_TAG "v2.1.0-beta3"
|
||||
- UPDATE_COMMAND ""
|
||||
- INSTALL_COMMAND ""
|
||||
+ SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/luajit"
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND "${EXTMAKE_CMD}"
|
||||
DEFAULT_CC=${CMAKE_C_COMPILER}
|
||||
15
pkgs/desktops/arcan/arcan/002-libuvc.patch
Normal file
15
pkgs/desktops/arcan/arcan/002-libuvc.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
diff -Naur source-old/src/frameserver/decode/default/CMakeLists.txt source-new/src/frameserver/decode/default/CMakeLists.txt
|
||||
--- source-old/src/frameserver/decode/default/CMakeLists.txt 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/src/frameserver/decode/default/CMakeLists.txt 2021-10-29 12:01:31.989933725 -0300
|
||||
@@ -62,10 +62,8 @@
|
||||
if (STATIC_LIBUVC)
|
||||
pkg_check_modules(LIBUSB_1 REQUIRED libusb-1.0)
|
||||
ExternalProject_Add(libuvc
|
||||
- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/frameserver/decode/libuvc"
|
||||
+ SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/libuvc"
|
||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libuvc_static"
|
||||
- UPDATE_COMMAND ""
|
||||
- GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/libuvc"
|
||||
${EXTERNAL_DEFS}
|
||||
${CMAKE_EXTERNAL_DEFS}
|
||||
-DBUILD_UVC_STATIC=ON
|
||||
25
pkgs/desktops/arcan/arcan/clone-sources.nix
Normal file
25
pkgs/desktops/arcan/arcan/clone-sources.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ fetchgit, fetchFromGitHub }:
|
||||
{
|
||||
letoram-openal-src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = "openal";
|
||||
rev = "1c7302c580964fee9ee9e1d89ff56d24f934bdef";
|
||||
hash = "sha256-InqU59J0zvwJ20a7KU54xTM7d76VoOlFbtj7KbFlnTU=";
|
||||
};
|
||||
freetype-src = fetchgit {
|
||||
url = "git://git.sv.nongnu.org/freetype/freetype2.git";
|
||||
rev = "94cb3a2eb96b3f17a1a3bd0e6f7da97c0e1d8f57";
|
||||
sha256 = "sha256-LzjqunX/T8khF2UjPlPYiQOwMGem8MqPYneR2LdZ5Fg=";
|
||||
};
|
||||
libuvc-src = fetchFromGitHub {
|
||||
owner = "libuvc";
|
||||
repo = "libuvc";
|
||||
rev = "b2b01ae6a2875d05c99eb256bb15815018d6e837";
|
||||
sha256 = "sha256-2zCTjyodRARkHM/Q0r4bdEH9LO1Z9xPCnY2xE4KZddA=";
|
||||
};
|
||||
luajit-src = fetchgit {
|
||||
url = "https://luajit.org/git/luajit-2.0.git";
|
||||
rev = "d3294fa63b344173db68dd612c6d3801631e28d4";
|
||||
sha256 = "sha256-1iHBXcbYhWN4M8g5oH09S1j1WrjYzI6qcRbHsdfpRkk=";
|
||||
};
|
||||
}
|
||||
187
pkgs/desktops/arcan/arcan/default.nix
Normal file
187
pkgs/desktops/arcan/arcan/default.nix
Normal file
|
|
@ -0,0 +1,187 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchgit
|
||||
, SDL2
|
||||
, cmake
|
||||
, espeak
|
||||
, ffmpeg
|
||||
, file
|
||||
, freetype
|
||||
, harfbuzz
|
||||
, leptonica
|
||||
, libGL
|
||||
, libX11
|
||||
, libXau
|
||||
, libXcomposite
|
||||
, libXdmcp
|
||||
, libXfixes
|
||||
, libdrm
|
||||
, libffi
|
||||
, libusb1
|
||||
, libuvc
|
||||
, libvlc
|
||||
, libvncserver
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, lua
|
||||
, luajit
|
||||
, makeWrapper
|
||||
, mesa
|
||||
, openal
|
||||
, pkg-config
|
||||
, sqlite
|
||||
, tesseract
|
||||
, valgrind
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, xcbutil
|
||||
, xcbutilwm
|
||||
, xz
|
||||
, buildManPages ? true, ruby
|
||||
, useBuiltinLua ? true
|
||||
, useStaticFreetype ? false
|
||||
, useStaticLibuvc ? false
|
||||
, useStaticOpenAL ? true
|
||||
, useStaticSqlite ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arcan" + lib.optionalString useStaticOpenAL "-static-openal";
|
||||
version = "0.6.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = "arcan";
|
||||
rev = version;
|
||||
hash = "sha256-+dJaBSKGbHOwzA26/jDyh2UF9YRwGUcysJIeAM4kvfc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
makeWrapper
|
||||
pkg-config
|
||||
] ++ lib.optionals buildManPages [
|
||||
ruby
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
espeak
|
||||
ffmpeg
|
||||
file
|
||||
freetype
|
||||
harfbuzz
|
||||
leptonica
|
||||
libGL
|
||||
libX11
|
||||
libXau
|
||||
libXcomposite
|
||||
libXdmcp
|
||||
libXfixes
|
||||
libdrm
|
||||
libffi
|
||||
libusb1
|
||||
libuvc
|
||||
libvlc
|
||||
libvncserver
|
||||
libxcb
|
||||
libxkbcommon
|
||||
lua
|
||||
luajit
|
||||
mesa
|
||||
openal
|
||||
sqlite
|
||||
tesseract
|
||||
valgrind
|
||||
wayland
|
||||
wayland-protocols
|
||||
xcbutil
|
||||
xcbutilwm
|
||||
xz
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Nixpkgs-specific: redirect vendoring
|
||||
./000-openal.patch
|
||||
./001-luajit.patch
|
||||
./002-libuvc.patch
|
||||
];
|
||||
|
||||
# Emulate external/git/clone.sh
|
||||
postUnpack = let
|
||||
inherit (import ./clone-sources.nix { inherit fetchFromGitHub fetchgit; })
|
||||
letoram-openal-src freetype-src libuvc-src luajit-src;
|
||||
in
|
||||
''
|
||||
pushd $sourceRoot/external/git/
|
||||
''
|
||||
+ (lib.optionalString useStaticOpenAL ''
|
||||
cp -a ${letoram-openal-src}/ openal
|
||||
chmod --recursive 744 openal
|
||||
'')
|
||||
+ (lib.optionalString useStaticFreetype ''
|
||||
cp -a ${freetype-src}/ freetype
|
||||
chmod --recursive 744 freetype
|
||||
'')
|
||||
+ (lib.optionalString useStaticLibuvc ''
|
||||
cp -a ${libuvc-src}/ libuvc
|
||||
chmod --recursive 744 libuvc
|
||||
'')
|
||||
+ (lib.optionalString useBuiltinLua ''
|
||||
cp -a ${luajit-src}/ luajit
|
||||
chmod --recursive 744 luajit
|
||||
'') +
|
||||
''
|
||||
popd
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./src/platform/posix/paths.c \
|
||||
--replace "/usr/bin" "$out/bin" \
|
||||
--replace "/usr/share" "$out/share"
|
||||
|
||||
substituteInPlace ./src/CMakeLists.txt --replace "SETUID" "# SETUID"
|
||||
'';
|
||||
|
||||
# INFO: According to the source code, the manpages need to be generated before
|
||||
# the configure phase
|
||||
preConfigure = lib.optionalString buildManPages ''
|
||||
pushd doc
|
||||
ruby docgen.rb mangen
|
||||
popd
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_PRESET=everything"
|
||||
# The upstream project recommends tagging the distribution
|
||||
"-DDISTR_TAG=Nixpkgs"
|
||||
"-DENGINE_BUILDTAG=${version}"
|
||||
"-DHYBRID_SDL=on"
|
||||
"-DBUILTIN_LUA=${if useBuiltinLua then "on" else "off"}"
|
||||
"-DDISABLE_JIT=${if useBuiltinLua then "on" else "off"}"
|
||||
"-DSTATIC_FREETYPE=${if useStaticFreetype then "on" else "off"}"
|
||||
"-DSTATIC_LIBUVC=${if useStaticLibuvc then "on" else "off"}"
|
||||
"-DSTATIC_OPENAL=${if useStaticOpenAL then "on" else "off"}"
|
||||
"-DSTATIC_SQLite3=${if useStaticSqlite then "on" else "off"}"
|
||||
"../src"
|
||||
];
|
||||
|
||||
hardeningDisable = [
|
||||
"format"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://arcan-fe.com/";
|
||||
description = "Combined Display Server, Multimedia Framework, Game Engine";
|
||||
longDescription = ''
|
||||
Arcan is a portable and fast self-sufficient multimedia engine for
|
||||
advanced visualization and analysis work in a wide range of applications
|
||||
e.g. game development, real-time streaming video, monitoring and
|
||||
surveillance, up to and including desktop compositors and window managers.
|
||||
'';
|
||||
license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ];
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
43
pkgs/desktops/arcan/default.nix
Normal file
43
pkgs/desktops/arcan/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ config, lib, pkgs }:
|
||||
|
||||
lib.makeScope pkgs.newScope (self: with self; {
|
||||
# Dependencies
|
||||
|
||||
espeak = pkgs.espeak-ng;
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
harfbuzz = pkgs.harfbuzzFull;
|
||||
|
||||
# Arcan
|
||||
|
||||
arcan = callPackage ./arcan { };
|
||||
arcan-wrapped = callPackage ./wrapper.nix { };
|
||||
xarcan = callPackage ./xarcan { };
|
||||
|
||||
# Appls
|
||||
|
||||
durden = callPackage ./durden { };
|
||||
durden-wrapped = callPackage ./wrapper.nix {
|
||||
name = "durden-wrapped";
|
||||
appls = [ durden ];
|
||||
};
|
||||
|
||||
pipeworld = callPackage ./pipeworld { };
|
||||
pipeworld-wrapped = callPackage ./wrapper.nix {
|
||||
name = "pipeworld-wrapped";
|
||||
appls = [ pipeworld ];
|
||||
};
|
||||
|
||||
# Warning: prio is deprecated; however it works and is useful for testing
|
||||
prio = callPackage ./prio { };
|
||||
prio-wrapped = callPackage ./wrapper.nix {
|
||||
name = "prio-wrapped";
|
||||
appls = [ prio ];
|
||||
};
|
||||
|
||||
# One Expression to SymlinkJoin Them All
|
||||
|
||||
all-wrapped = callPackage ./wrapper.nix {
|
||||
name = "all-wrapped";
|
||||
appls = [ durden pipeworld ];
|
||||
};
|
||||
})
|
||||
43
pkgs/desktops/arcan/durden/default.nix
Normal file
43
pkgs/desktops/arcan/durden/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "durden";
|
||||
version = "0.6.1+date=2022-05-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = pname;
|
||||
rev = "9284182bd8b3b976387cd6494c5f605633a559fc";
|
||||
hash = "sha256-K1MjgNyX6qlaHya6Grej0cagORihS35BWECWn2HcRCk=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p ${placeholder "out"}/share/arcan/appl/
|
||||
cp -a ./durden ${placeholder "out"}/share/arcan/appl/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://durden.arcan-fe.com/";
|
||||
description = "Reference Desktop Environment for Arcan";
|
||||
longDescription = ''
|
||||
Durden is a desktop environment for the Arcan Display Server. It serves
|
||||
both as a reference showcase on how to take advantage of some of the
|
||||
features in Arcan, and as a very competent entry to the advanced-user side
|
||||
of the desktop environment spectrum.
|
||||
'';
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
50
pkgs/desktops/arcan/pipeworld/default.nix
Normal file
50
pkgs/desktops/arcan/pipeworld/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pipeworld";
|
||||
version = "0.pre+date=2022-04-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = pname;
|
||||
rev = "f60d0b93fcd5462f47b1c928c109f5b4cbd74eef";
|
||||
hash = "sha256-PNziP5LaUODZwtAHvg8uYt/EyoD3mB5aWIfp7n5a82E=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p ${placeholder "out"}/share/arcan/appl/
|
||||
cp -a ./pipeworld ${placeholder "out"}/share/arcan/appl/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/letoram/pipeworld";
|
||||
description = "Dataflow 'spreadsheet' desktop environment";
|
||||
longDescription = ''
|
||||
Pipeworld is a zooming dataflow tool and desktop heavily inspired by
|
||||
userland. It is built using the arcan desktop engine.
|
||||
|
||||
It combines the programmable processing of shell scripts and pipes, the
|
||||
interactive visual addressing/programming model of spread sheets, the
|
||||
scenegraph- and interactive controls-, IPC- and client processing- of
|
||||
display servers into one model with zoomable tiling window management.
|
||||
|
||||
It can be used as a standalone desktop of its own, or as a normal
|
||||
application within another desktop as a 'substitute' for your normal
|
||||
terminal emulator.
|
||||
'';
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
37
pkgs/desktops/arcan/prio/default.nix
Normal file
37
pkgs/desktops/arcan/prio/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "prio";
|
||||
version = "0.pre+date=2018-09-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = pname;
|
||||
rev = "c3f97491339d15f063d6937d5f89bcfaea774dd1";
|
||||
hash = "sha256-Idv/duEYmDk/rO+TI8n+FY3VFDtUEh8C292jh12BJuM=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p ${placeholder "out"}/share/arcan/appl/prio
|
||||
cp -a ./* ${placeholder "out"}/share/arcan/appl/prio
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/letoram/prio";
|
||||
description = "Plan9- Rio like Window Manager for Arcan";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
29
pkgs/desktops/arcan/wrapper.nix
Normal file
29
pkgs/desktops/arcan/wrapper.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ arcan
|
||||
, makeWrapper
|
||||
, symlinkJoin
|
||||
, appls ? [ ]
|
||||
, name ? "arcan-wrapped"
|
||||
}:
|
||||
|
||||
symlinkJoin rec {
|
||||
inherit name;
|
||||
|
||||
paths = appls ++ [ arcan ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
for prog in ${placeholder "out"}/bin/*; do
|
||||
wrapProgram $prog \
|
||||
--prefix PATH ":" "${placeholder "out"}/bin" \
|
||||
--set ARCAN_APPLBASEPATH "${placeholder "out"}/share/arcan/appl/" \
|
||||
--set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver" \
|
||||
--set ARCAN_LIBPATH "${placeholder "out"}/lib/" \
|
||||
--set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \
|
||||
--set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/"
|
||||
done
|
||||
'';
|
||||
}
|
||||
# TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly
|
||||
# via a suitable script
|
||||
# TODO: set ARCAN_FONTPATH to a set of default-but-configurable fontset
|
||||
119
pkgs/desktops/arcan/xarcan/default.nix
Normal file
119
pkgs/desktops/arcan/xarcan/default.nix
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, arcan
|
||||
, audit
|
||||
, dbus
|
||||
, libepoxy
|
||||
, fontutil
|
||||
, libGL
|
||||
, libX11
|
||||
, libXau
|
||||
, libXdmcp
|
||||
, libXfont2
|
||||
, libdrm
|
||||
, libgcrypt
|
||||
, libmd
|
||||
, libselinux
|
||||
, libtirpc
|
||||
, libxcb
|
||||
, libxkbfile
|
||||
, libxshmfence
|
||||
, mesa
|
||||
, meson
|
||||
, nettle
|
||||
, ninja
|
||||
, openssl
|
||||
, pixman
|
||||
, pkg-config
|
||||
, systemd
|
||||
, xcbutil
|
||||
, xcbutilwm
|
||||
, xkbcomp
|
||||
, xkeyboard_config
|
||||
, xorgproto
|
||||
, xtrans
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xarcan";
|
||||
version = "0.6.0+date=2021-08-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letoram";
|
||||
repo = pname;
|
||||
rev = "e40f0176e495ffdad6e7405c58378df6532eb70d";
|
||||
hash = "sha256-T+1oL7P5MTDkeSfW6OXc1OgfZ8E6e/4YRonf1eXcfIA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
arcan
|
||||
audit
|
||||
dbus
|
||||
libepoxy
|
||||
fontutil
|
||||
libGL
|
||||
libX11
|
||||
libXau
|
||||
libXdmcp
|
||||
libXfont2
|
||||
libdrm
|
||||
libgcrypt
|
||||
libmd
|
||||
libselinux
|
||||
libtirpc
|
||||
libxcb
|
||||
libxkbfile
|
||||
libxshmfence
|
||||
mesa
|
||||
nettle
|
||||
openssl
|
||||
pixman
|
||||
systemd
|
||||
xcbutil
|
||||
xcbutilwm
|
||||
xkbcomp
|
||||
xkeyboard_config
|
||||
xorgproto
|
||||
xtrans
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-int10-module"
|
||||
"--disable-static"
|
||||
"--disable-xnest"
|
||||
"--disable-xorg"
|
||||
"--disable-xvfb"
|
||||
"--disable-xwayland"
|
||||
"--enable-glamor"
|
||||
"--enable-glx"
|
||||
"--enable-ipv6"
|
||||
"--enable-kdrive"
|
||||
"--enable-record"
|
||||
"--enable-xarcan"
|
||||
"--enable-xcsecurity"
|
||||
"--with-xkb-bin-directory=${xkbcomp}/bin"
|
||||
"--with-xkb-output=/tmp"
|
||||
"--with-xkb-path=${xkeyboard_config}/share/X11/xkb"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/letoram/letoram";
|
||||
description = "Patched Xserver that bridges connections to Arcan";
|
||||
longDescription = ''
|
||||
xarcan is a patched X server with a KDrive backend that uses the
|
||||
arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It
|
||||
allows running an X session as a window under Arcan.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,336 @@
|
|||
From 67f62e5a8acd70d30f7067f1f44ac7b15c67011a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Howkins <flibble@users.sf.net>
|
||||
Date: Mon, 2 Nov 2020 05:30:08 +0000
|
||||
Subject: [PATCH] all: remove deprecated sys_errlist[] and replace with ANSI C
|
||||
strerror()
|
||||
|
||||
---
|
||||
cde/config/imake/imake.c | 13 -------------
|
||||
cde/lib/tt/bin/dbck/spec.C | 8 --------
|
||||
cde/lib/tt/lib/tt_options.h | 12 ------------
|
||||
cde/programs/dtcm/dtcm/dnd.c | 4 ----
|
||||
cde/programs/dtcm/libDtCmP/util.c | 5 +----
|
||||
.../dthelp/parser.ccdf/volumegen/Volumegen.c | 1 -
|
||||
cde/programs/dtimsstart/remote.c | 4 ----
|
||||
cde/programs/dtimsstart/start.c | 12 +++---------
|
||||
cde/programs/dtinfo/dtinfo/src/external-api/comm.c | 5 +----
|
||||
.../dtksh/ksh93/src/lib/libast/string/fmterror.c | 9 +--------
|
||||
.../dtksh/ksh93/src/lib/libast/string/strerror.c | 8 +-------
|
||||
cde/programs/dtlogin/dm.h | 7 +------
|
||||
12 files changed, 8 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/cde/config/imake/imake.c b/cde/config/imake/imake.c
|
||||
index 574af7c7..83834aa7 100644
|
||||
--- a/cde/config/imake/imake.c
|
||||
+++ b/config/imake/imake.c
|
||||
@@ -242,19 +242,6 @@ extern int errno;
|
||||
#include <stdarg.h>
|
||||
#include "imakemdep.h"
|
||||
|
||||
-/*
|
||||
- * This define of strerror is copied from (and should be identical to)
|
||||
- * Xos.h, which we don't want to include here for bootstrapping reasons.
|
||||
- */
|
||||
-#if defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4))
|
||||
-# ifndef strerror
|
||||
-extern char *sys_errlist[];
|
||||
-extern int sys_nerr;
|
||||
-# define strerror(n) \
|
||||
- (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")
|
||||
-# endif
|
||||
-#endif
|
||||
-
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
diff --git a/cde/lib/tt/bin/dbck/spec.C b/cde/lib/tt/bin/dbck/spec.C
|
||||
index 18bba3fb..eaf2d6b7 100644
|
||||
--- a/cde/lib/tt/bin/dbck/spec.C
|
||||
+++ b/lib/tt/bin/dbck/spec.C
|
||||
@@ -44,14 +44,6 @@
|
||||
#include "ttdbck.h"
|
||||
#include "tt_db_server_consts.h"
|
||||
|
||||
-#if !defined(OPT_STRERROR)
|
||||
-// No strerror(), fake it
|
||||
-char *
|
||||
-strerror(int e)
|
||||
-{
|
||||
- return ((e<sys_nerr) ? sys_errlist[e] : "unknown");
|
||||
-}
|
||||
-#endif
|
||||
|
||||
Spec::
|
||||
Spec()
|
||||
diff --git a/cde/lib/tt/lib/tt_options.h b/cde/lib/tt/lib/tt_options.h
|
||||
index e23bb9e5..de3a30e2 100644
|
||||
--- a/cde/lib/tt/lib/tt_options.h
|
||||
+++ b/lib/tt/lib/tt_options.h
|
||||
@@ -107,10 +107,6 @@
|
||||
* OPT_CPP_OPTIONS - string, options to pass to cpp. For example, on
|
||||
* some platforms -B is used so C++ comments are processed by cpp.
|
||||
*
|
||||
- *
|
||||
- * OPT_STRERROR - set if strerror() is available, otherwise we assume
|
||||
- * global symbol sys_errlist is defined in errno.h.
|
||||
- *
|
||||
* OPT_SVR4_GETMNTENT - set to use new SVR4 flavor of getmntent.
|
||||
*
|
||||
* OPT_LOCKF_MNTTAB - set to hold a lockf lock on MNTTAB while doing
|
||||
@@ -242,7 +238,6 @@
|
||||
# undef OPT_SYSINFO
|
||||
# define OPT_CPP_PATH "/usr/ccs/lib/cpp"
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_DEFINE_SIG_PF
|
||||
@@ -273,7 +268,6 @@
|
||||
# undef OPT_SYSINFO
|
||||
# define OPT_CPP_PATH "/usr/lib/cpp"
|
||||
# define OPT_CPP_OPTIONS "-B"
|
||||
-# undef OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_42
|
||||
@@ -302,7 +296,6 @@
|
||||
# define OPT_CATGETS
|
||||
# undef OPT_GETDTABLESIZE
|
||||
# define OPT_SYSINFO
|
||||
-# define OPT_STRERROR
|
||||
# define OPT_CPP_PATH "/usr/ccs/lib/cpp"
|
||||
# define OPT_CPP_OPTIONS "-B"
|
||||
# define OPT_SVR4_GETMNTENT
|
||||
@@ -389,7 +382,6 @@
|
||||
# define OPT_CPP_PATH "/opt/langtools/lbin/cpp"
|
||||
# endif
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_HFS
|
||||
@@ -415,7 +407,6 @@
|
||||
# undef OPT_SYSINFO
|
||||
# define OPT_CPP_PATH "/usr/bin/cpp"
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE "ext2fs"
|
||||
@@ -446,7 +437,6 @@
|
||||
# undef OPT_SYSINFO
|
||||
# define OPT_CPP_PATH "/usr/libexec/cpp"
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_UFS
|
||||
@@ -479,7 +469,6 @@
|
||||
# define OPT_CPP_PATH "/usr/libexec/cpp"
|
||||
# endif
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_UFS
|
||||
@@ -509,7 +498,6 @@
|
||||
# undef OPT_SYSINFO
|
||||
# define OPT_CPP_PATH "/usr/bin/cpp"
|
||||
# define OPT_CPP_OPTIONS ""
|
||||
-# define OPT_STRERROR
|
||||
# undef OPT_SVR4_GETMNTENT
|
||||
# undef OPT_LOCKF_MNTENT
|
||||
# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_UFS
|
||||
diff --git a/cde/programs/dtcm/dtcm/dnd.c b/cde/programs/dtcm/dtcm/dnd.c
|
||||
index abc58c12..f37f19a6 100644
|
||||
--- a/cde/programs/dtcm/dtcm/dnd.c
|
||||
+++ b/programs/dtcm/dtcm/dnd.c
|
||||
@@ -72,10 +72,6 @@
|
||||
|
||||
static Bool lookForButton(Display *, XEvent *, XPointer);
|
||||
|
||||
-#if !defined(__linux__) && !defined(CSRG_BASED)
|
||||
-extern char *sys_errlist[];
|
||||
-#endif
|
||||
-
|
||||
extern int drag_load_proc(char*, Calendar *);
|
||||
static char dnd_filename[20];
|
||||
|
||||
diff --git a/cde/programs/dtcm/libDtCmP/util.c b/cde/programs/dtcm/libDtCmP/util.c
|
||||
index d33b8ba1..6de4739d 100644
|
||||
--- a/cde/programs/dtcm/libDtCmP/util.c
|
||||
+++ b/programs/dtcm/libDtCmP/util.c
|
||||
@@ -306,10 +306,7 @@ syserr(char *msg, int a1, int a2, int a3)
|
||||
#if 0
|
||||
/* print the error, if any */
|
||||
if (saveerr != 0) {
|
||||
- if (saveerr < 0 || saveerr > sys_nerr)
|
||||
- (void) fprintf(stderr, ":Unknown error %d", saveerr);
|
||||
- else
|
||||
- (void) fprintf(stderr, ":%s", sys_errlist[saveerr]);
|
||||
+ (void) fprintf(stderr, ":%s", strerror(saveerr));
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/cde/programs/dthelp/parser.ccdf/volumegen/Volumegen.c b/cde/programs/dthelp/parser.ccdf/volumegen/Volumegen.c
|
||||
index d9a42943..08de4809 100644
|
||||
--- a/cde/programs/dthelp/parser.ccdf/volumegen/Volumegen.c
|
||||
+++ b/programs/dthelp/parser.ccdf/volumegen/Volumegen.c
|
||||
@@ -56,7 +56,6 @@
|
||||
typedef int Boolean;
|
||||
|
||||
/* extern int errno; */
|
||||
-/* extern char *sys_errlist[]; */
|
||||
/* extern int sys_nerr; */
|
||||
|
||||
static void GenTopicList (
|
||||
diff --git a/cde/programs/dtimsstart/remote.c b/cde/programs/dtimsstart/remote.c
|
||||
index 68773673..71d32977 100644
|
||||
--- a/cde/programs/dtimsstart/remote.c
|
||||
+++ b/programs/dtimsstart/remote.c
|
||||
@@ -37,10 +37,6 @@
|
||||
#include <X11/Xproto.h> /* for X_ChangeHosts */
|
||||
#include <X11/Xatom.h> /* for XA_STRING */
|
||||
|
||||
-#if !defined(__linux__) && !defined(CSRG_BASED)
|
||||
-extern char *sys_errlist[];
|
||||
-#endif
|
||||
-
|
||||
static char *conf_msg_id = STR_CONFDATA;
|
||||
|
||||
#define CONF_MSG_ID_LEN strlen(conf_msg_id)
|
||||
diff --git a/cde/programs/dtimsstart/start.c b/cde/programs/dtimsstart/start.c
|
||||
index 78fc2a38..1dafa189 100644
|
||||
--- a/cde/programs/dtimsstart/start.c
|
||||
+++ b/programs/dtimsstart/start.c
|
||||
@@ -27,14 +27,10 @@
|
||||
#include <sys/wait.h>
|
||||
#include <setjmp.h>
|
||||
#include <unistd.h>
|
||||
+#include <errno.h>
|
||||
|
||||
#if (defined(__linux__) || defined(CSRG_BASED)) && !defined(_NFILE)
|
||||
#define _NFILE FOPEN_MAX
|
||||
-#endif
|
||||
-
|
||||
-#if !defined(__linux__) && !defined(CSRG_BASED)
|
||||
-extern char *sys_errlist[];
|
||||
-extern int sys_nerr;
|
||||
#endif
|
||||
|
||||
/* local functions */
|
||||
@@ -599,8 +595,7 @@ static int invoke_ims(UserSelection *sel)
|
||||
|
||||
pid = fork();
|
||||
if (pid == (pid_t) -1) {
|
||||
- put_xims_log("fork failed [%s]",
|
||||
- (errno <= sys_nerr) ? sys_errlist[errno] : NULL, 0, 0);
|
||||
+ put_xims_log("fork failed [%s]", strerror(errno), 0, 0);
|
||||
#ifdef DEBUG
|
||||
perror("fork");
|
||||
#endif
|
||||
@@ -617,8 +612,7 @@ static int invoke_ims(UserSelection *sel)
|
||||
#endif
|
||||
execl(SH_PATH, "sh", "-c", renv->cmdbuf, NULL);
|
||||
|
||||
- put_xims_log("%s: exec failed [%s]", SH_PATH,
|
||||
- (errno <= sys_nerr) ? sys_errlist[errno] : NULL, 0, 0);
|
||||
+ put_xims_log("%s: exec failed [%s]", SH_PATH, strerror(errno) , 0, 0);
|
||||
/* perror(SH_PATH); */
|
||||
sleep(1);
|
||||
_exit(1);
|
||||
diff --git a/cde/programs/dtinfo/dtinfo/src/external-api/comm.c b/cde/programs/dtinfo/dtinfo/src/external-api/comm.c
|
||||
index d61ccb7a..6aa2fc91 100644
|
||||
--- a/cde/programs/dtinfo/dtinfo/src/external-api/comm.c
|
||||
+++ b/programs/dtinfo/dtinfo/src/external-api/comm.c
|
||||
@@ -53,9 +53,6 @@
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
-extern char *sys_errlist[];
|
||||
-
|
||||
-
|
||||
static OliasEvent *current_event;
|
||||
static int reply_status;
|
||||
#define NO_REPLY 0
|
||||
@@ -332,7 +329,7 @@ wait_for_reply (Widget toplevel)
|
||||
XtAppWarningMsg (XtWidgetToApplicationContext (toplevel),
|
||||
"communicationsError", "select",
|
||||
"Olias API", "Select failed: %s",
|
||||
- &sys_errlist[errno], &num_params);
|
||||
+ strerror(errno), &num_params);
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmterror.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmterror.c
|
||||
index 313b67bc..8dd87ab8 100644
|
||||
--- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmterror.c
|
||||
+++ b/programs/dtksh/ksh93/src/lib/libast/string/fmterror.c
|
||||
@@ -92,14 +92,7 @@
|
||||
#endif
|
||||
#include <ast.h>
|
||||
|
||||
-extern __MANGLE__ int sys_nerr;
|
||||
-extern __MANGLE__ char* sys_errlist[];
|
||||
-
|
||||
char*
|
||||
fmterror __PARAM__((int err), (err)) __OTORP__(int err;){
|
||||
- static char msg[28];
|
||||
-
|
||||
- if (err > 0 && err <= sys_nerr) return(sys_errlist[err]);
|
||||
- sfsprintf(msg, sizeof(msg), "Error %d", err);
|
||||
- return(msg);
|
||||
+ return strerror(err);
|
||||
}
|
||||
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/strerror.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/strerror.c
|
||||
index 7686a54d..a6aa7ce8 100644
|
||||
--- a/cde/programs/dtksh/ksh93/src/lib/libast/string/strerror.c
|
||||
+++ b/programs/dtksh/ksh93/src/lib/libast/string/strerror.c
|
||||
@@ -108,18 +108,12 @@ NoN(strerror)
|
||||
|
||||
#include <ast.h>
|
||||
|
||||
-extern __MANGLE__ int sys_nerr;
|
||||
-extern __MANGLE__ char* sys_errlist[];
|
||||
|
||||
char*
|
||||
strerror __PARAM__((int err), (err)) __OTORP__(int err;)
|
||||
#line 25
|
||||
{
|
||||
- static char msg[28];
|
||||
-
|
||||
- if (err > 0 && err <= sys_nerr) return(sys_errlist[err]);
|
||||
- sfsprintf(msg, sizeof(msg), "Error %d", err);
|
||||
- return(msg);
|
||||
+ return strerror(err);
|
||||
}
|
||||
|
||||
#endif
|
||||
diff --git a/cde/programs/dtlogin/dm.h b/cde/programs/dtlogin/dm.h
|
||||
index 3e0f2499..e67edc3c 100644
|
||||
--- a/cde/programs/dtlogin/dm.h
|
||||
+++ b/programs/dtlogin/dm.h
|
||||
@@ -68,8 +68,7 @@
|
||||
# include <pwd.h> /* for passwd structure */
|
||||
# include <stdio.h>
|
||||
# include <stdlib.h> /* for exit(), malloc(), abort() */
|
||||
-# include <string.h> /* for string functions, bcopy(),
|
||||
- sys_errlist */
|
||||
+# include <string.h> /* for string functions, bcopy() */
|
||||
# include <sys/param.h> /* for NGROUPS */
|
||||
# include <sys/types.h> /* for fd_set */
|
||||
# include <netinet/in.h> /* for Internet socket stuff */
|
||||
@@ -475,10 +474,6 @@ struct verify_info {
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
-#if !defined(__linux__) && !defined(CSRG_BASED)
|
||||
-extern char *sys_errlist[]; /* system error msgs */
|
||||
-extern int sys_nerr; /* system error msgs */
|
||||
-#endif
|
||||
extern XrmDatabase XresourceDB;
|
||||
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
106
pkgs/desktops/cdesktopenv/2.3.2.patch
Normal file
106
pkgs/desktops/cdesktopenv/2.3.2.patch
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
From 8db8a2290683acf94f02e855af668a864d6001c2 Mon Sep 17 00:00:00 2001
|
||||
Subject: [PATCH 1/2] installCDE: don't hardcode path to whoami
|
||||
---
|
||||
cde/admin/IntegTools/dbTools/installCDE.src | 11 ++---------
|
||||
cde/admin/IntegTools/dbTools/mkProd | 9 +--------
|
||||
2 files changed, 3 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/cde/admin/IntegTools/dbTools/installCDE.src b/cde/admin/IntegTools/dbTools/installCDE.src
|
||||
index a00fefd1..233b4a96 100755
|
||||
--- a/cde/admin/IntegTools/dbTools/installCDE.src
|
||||
+++ b/admin/IntegTools/dbTools/installCDE.src
|
||||
@@ -52,7 +52,7 @@ LOGFILE="installCDE.$$.log"
|
||||
|
||||
Log()
|
||||
{
|
||||
- /bin/echo "$1" | tee -a $LOGFILE
|
||||
+ echo "$1" | tee -a $LOGFILE
|
||||
}
|
||||
|
||||
MakeTarball()
|
||||
@@ -537,14 +537,7 @@ XCOMM
|
||||
PLATFORM_SCRIPT_DIR=hp
|
||||
fi
|
||||
|
||||
- if [ "$PLATFORM" = "aix" ];
|
||||
- then
|
||||
- USER=$(/bin/whoami)
|
||||
- else
|
||||
- USER=$(/usr/bin/whoami)
|
||||
- fi
|
||||
-
|
||||
- if [ "$USER" != "root" ];
|
||||
+ if [ $(whoami) != "root" ];
|
||||
then
|
||||
echo ""
|
||||
echo "You should be root to run this script. Continuing anyway."
|
||||
diff --git a/cde/admin/IntegTools/dbTools/mkProd b/cde/admin/IntegTools/dbTools/mkProd
|
||||
index 44591fab..413a77e8 100755
|
||||
--- a/cde/admin/IntegTools/dbTools/mkProd
|
||||
+++ b/admin/IntegTools/dbTools/mkProd
|
||||
@@ -96,13 +96,6 @@ else # Build system = HP
|
||||
PLATFORM=hp-ux
|
||||
fi
|
||||
|
||||
-if [ $PLATFORM = "aix" ];
|
||||
-then
|
||||
- USER=`/bin/whoami`
|
||||
-else
|
||||
- USER=`/usr/bin/whoami`
|
||||
-fi
|
||||
-
|
||||
awkit() {
|
||||
awk '
|
||||
BEGIN {
|
||||
@@ -504,7 +497,7 @@ doit()
|
||||
}
|
||||
# set permissions for non-links
|
||||
if [ "${TYPE%link}" = "$TYPE" ]; then
|
||||
- if [ "$USER" = "root" ]; then
|
||||
+ if [ $(whoami) = "root" ]; then
|
||||
chgrp $GROUP $DEST ||
|
||||
echo "ERROR: \"chgrp $GROUP $DEST\" failed" >&2
|
||||
chown $OWNER $DEST ||
|
||||
--
|
||||
2.25.0
|
||||
|
||||
|
||||
From 9221c55a5f811986eaf0e01301827c294ac2e29b Mon Sep 17 00:00:00 2001
|
||||
Subject: [PATCH 2/2] tt_type_comp: use CppCmd definition
|
||||
---
|
||||
cde/lib/tt/bin/tt_type_comp/Imakefile | 4 +++-
|
||||
cde/lib/tt/lib/tt_options.h | 5 +++++
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cde/lib/tt/bin/tt_type_comp/Imakefile b/cde/lib/tt/bin/tt_type_comp/Imakefile
|
||||
index 92179208..62434929 100644
|
||||
--- a/cde/lib/tt/bin/tt_type_comp/Imakefile
|
||||
+++ b/lib/tt/bin/tt_type_comp/Imakefile
|
||||
@@ -8,7 +8,9 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
|
||||
|
||||
#include "../../tooltalk.tmpl"
|
||||
|
||||
-DEFINES =
|
||||
+CPP_PROGRAM = CppCmd
|
||||
+CPP_DEFINES = -DCPP_PROGRAM="\"$(CPP_PROGRAM)\""
|
||||
+DEFINES = $(CPP_DEFINES)
|
||||
INCLUDES = $(TIRPCINC) -I../../lib -I../../slib
|
||||
|
||||
DEPLIBS = ../../slib/libstt.a TtClientDepLibs
|
||||
diff --git a/cde/lib/tt/lib/tt_options.h b/cde/lib/tt/lib/tt_options.h
|
||||
index 4315daa8..e23bb9e5 100644
|
||||
--- a/cde/lib/tt/lib/tt_options.h
|
||||
+++ b/lib/tt/lib/tt_options.h
|
||||
@@ -529,4 +529,9 @@
|
||||
|
||||
#endif
|
||||
|
||||
+#ifdef CPP_PROGRAM
|
||||
+# undef OPT_CPP_PATH
|
||||
+# define OPT_CPP_PATH CPP_PROGRAM
|
||||
+#endif
|
||||
+
|
||||
#endif /* _TT_OPTIONS_H */
|
||||
--
|
||||
2.25.0
|
||||
|
||||
110
pkgs/desktops/cdesktopenv/default.nix
Normal file
110
pkgs/desktops/cdesktopenv/default.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, fetchpatch
|
||||
, xorgproto, libX11, bison, ksh, perl, gnum4
|
||||
, libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps
|
||||
, libjpeg, libXmu, libXdmcp, libXScrnSaver, symlinkJoin, bdftopcf
|
||||
, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales
|
||||
, autoPatchelfHook, libredirect, makeWrapper, xset, xrdb, fakeroot
|
||||
, rpcsvc-proto }:
|
||||
|
||||
let
|
||||
x11ProjectRoot = symlinkJoin {
|
||||
name = "x11ProjectRoot";
|
||||
paths = [
|
||||
bdftopcf mkfontdir
|
||||
xset # fonts
|
||||
xrdb # session load
|
||||
];
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "2.3.2";
|
||||
pname = "cde";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cdesktopenv/cde-${version}.tar.gz";
|
||||
sha256 = "029rljhi5r483x8rzdpl8625z0wx8r7k2m0364nbw66h5pig9lbx";
|
||||
};
|
||||
|
||||
# remove with next release
|
||||
patches = [
|
||||
./2.3.2.patch
|
||||
./0001-all-remove-deprecated-sys_errlist-and-replace-with-A.patch
|
||||
|
||||
(fetchpatch {
|
||||
name = "binutils-2.36.patch";
|
||||
url = "https://github.com/cdesktopenv/cde/commit/0b7849e210a99a413ddeb52a0eb5aef9a08504a0.patch";
|
||||
sha256 = "0wlhs617hws3rwln9v74y1nw27n3pp7jkpnxlala7k5y64506ipj";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libX11 libXinerama libXt libXext libtirpc motif libXft xbitmaps
|
||||
libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
bison ncompress autoPatchelfHook makeWrapper fakeroot
|
||||
rpcsvc-proto
|
||||
];
|
||||
# build fails otherwise
|
||||
enableParallelBuilding = false;
|
||||
|
||||
# Workaround build failure on -fno-common toolchains:
|
||||
# ld: raima/startup.o:/build/cde-2.3.2/lib/DtSearch/raima/dbtype.h:408: multiple definition of
|
||||
# `__SK__'; raima/alloc.o:/build/cde-2.3.2/lib/DtSearch/raima/dbtype.h:408: first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
makeFlags = [
|
||||
"World"
|
||||
"BOOTSTRAPCFLAGS=-I${xorgproto}/include/X11"
|
||||
"IMAKECPP=cpp"
|
||||
"LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# binutils 2.37 fix
|
||||
fixupList=(
|
||||
"config/cf/Imake.tmpl"
|
||||
"config/util/crayar.sh"
|
||||
"config/util/crayar.sh"
|
||||
"programs/dtwm/Makefile.tmpl"
|
||||
)
|
||||
for toFix in "''${fixupList[@]}"; do
|
||||
substituteInPlace "$toFix" --replace "clq" "cq"
|
||||
done
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
while IFS= read -r -d ''$'\0' i; do
|
||||
substituteInPlace "$i" --replace /usr/dt $out/opt/dt
|
||||
done < <(find "." -type f -exec grep -Iq /usr/dt {} \; -and -print0)
|
||||
|
||||
cat >> config/cf/site.def << EOF
|
||||
#define MakeFlagsToShellFlags(makeflags,shellcmd) set -e
|
||||
#define KornShell ${ksh}/bin/ksh
|
||||
#define PerlCmd ${perl}/bin/perl
|
||||
#define M4Cmd ${gnum4}/bin/m4
|
||||
#define X11ProjectRoot ${x11ProjectRoot}
|
||||
#define CppCmd ${gcc}/bin/cpp
|
||||
TIRPCINC = -I${libtirpc.dev}/include/tirpc
|
||||
EOF
|
||||
|
||||
patchShebangs .
|
||||
unset AR
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
fakeroot admin/IntegTools/dbTools/installCDE -s . -DontRunScripts
|
||||
|
||||
mkdir -p $out/bin
|
||||
mv $out/opt/dt/bin/dtmail $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Common Desktop Environment";
|
||||
homepage = "https://sourceforge.net/projects/cdesktopenv/";
|
||||
license = licenses.lgpl2;
|
||||
maintainers = [ ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
60
pkgs/desktops/cinnamon/bulky/default.nix
Normal file
60
pkgs/desktops/cinnamon/bulky/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, wrapGAppsHook
|
||||
, python3
|
||||
, gsettings-desktop-schemas
|
||||
, gettext
|
||||
, gtk3
|
||||
, glib
|
||||
, common-licenses
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bulky";
|
||||
version = "1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "bulky";
|
||||
rev = version;
|
||||
hash = "sha256-OCBFhlnEXZROp47KDiy7Y6l4GDVCCP+i1IFYQa7esyg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
gsettings-desktop-schemas
|
||||
gettext
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
(python3.withPackages (p: with p; [ pygobject3 magic setproctitle ]))
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
glib
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace usr/lib/bulky/bulky.py \
|
||||
--replace "/usr/share/locale" "$out/share/locale" \
|
||||
--replace /usr/share/bulky "$out/share/bulky" \
|
||||
--replace /usr/share/common-licenses "${common-licenses}/share/common-licenses" \
|
||||
--replace __DEB_VERSION__ "${version}"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
chmod +x usr/share/applications/*
|
||||
cp -ra usr $out
|
||||
ln -sf $out/lib/bulky/bulky.py $out/bin/bulky
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bulk rename app";
|
||||
homepage = "https://github.com/linuxmint/bulky";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
167
pkgs/desktops/cinnamon/cinnamon-common/default.nix
Normal file
167
pkgs/desktops/cinnamon/cinnamon-common/default.nix
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
{ atk
|
||||
, cacert
|
||||
, fetchpatch
|
||||
, dbus
|
||||
, cinnamon-control-center
|
||||
, cinnamon-desktop
|
||||
, cinnamon-menus
|
||||
, cinnamon-session
|
||||
, cinnamon-translations
|
||||
, cjs
|
||||
, fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, libgnomekbd
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, intltool
|
||||
, json-glib
|
||||
, callPackage
|
||||
, libsoup
|
||||
, libstartup_notification
|
||||
, libXtst
|
||||
, libXdamage
|
||||
, muffin
|
||||
, networkmanager
|
||||
, pkg-config
|
||||
, polkit
|
||||
, lib
|
||||
, stdenv
|
||||
, wrapGAppsHook
|
||||
, libxml2
|
||||
, gtk-doc
|
||||
, gnome
|
||||
, python3
|
||||
, keybinder3
|
||||
, cairo
|
||||
, xapps
|
||||
, upower
|
||||
, nemo
|
||||
, libnotify
|
||||
, accountsservice
|
||||
, gnome-online-accounts
|
||||
, glib-networking
|
||||
, pciutils
|
||||
, timezonemap
|
||||
, libnma
|
||||
, meson
|
||||
, ninja
|
||||
, gst_all_1
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-common";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "cinnamon";
|
||||
rev = version;
|
||||
hash = "sha256-B2Du2zis0xWeeyh3kSyz1doWImk9Fuk4qQ8HNZZdqdw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./use-sane-install-dir.patch
|
||||
./libdir.patch
|
||||
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxmint/cinnamon/commit/77ed66050f7df889fcb7a10b702c7b8bcdeaa130.patch";
|
||||
sha256 = "sha256-OegLxz6Xr/nxVwVOAd2oOY62ohZ3r6uYn1+YED5EBHQ=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# TODO: review if we really need this all
|
||||
(python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 python-pam pexpect distro requests ]))
|
||||
atk
|
||||
cacert
|
||||
cinnamon-control-center
|
||||
cinnamon-desktop
|
||||
cinnamon-menus
|
||||
cjs
|
||||
dbus
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
json-glib
|
||||
libsoup
|
||||
libstartup_notification
|
||||
libXtst
|
||||
libXdamage
|
||||
muffin
|
||||
networkmanager
|
||||
pkg-config
|
||||
polkit
|
||||
libxml2
|
||||
libgnomekbd
|
||||
gst_all_1.gstreamer
|
||||
|
||||
# bindings
|
||||
cairo
|
||||
gnome.caribou
|
||||
keybinder3
|
||||
upower
|
||||
xapps
|
||||
timezonemap
|
||||
nemo
|
||||
libnotify
|
||||
accountsservice
|
||||
libnma
|
||||
|
||||
# gsi bindings
|
||||
gnome-online-accounts
|
||||
glib-networking # for goa
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
intltool
|
||||
gtk-doc
|
||||
];
|
||||
|
||||
# use locales from cinnamon-translations (not using --localedir because datadir is used)
|
||||
postInstall = ''
|
||||
ln -s ${cinnamon-translations}/share/locale $out/share/locale
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
find . -type f -exec sed -i \
|
||||
-e s,/usr/share/cinnamon,$out/share/cinnamon,g \
|
||||
-e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
|
||||
{} +
|
||||
|
||||
sed "s|/usr/share/sounds|/run/current-system/sw/share/sounds|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/SettingsWidgets.py
|
||||
|
||||
sed "s|/usr/bin/upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
|
||||
sed "s|upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
|
||||
|
||||
sed "s|/usr/bin/cinnamon-control-center|${cinnamon-control-center}/bin/cinnamon-control-center|g" -i ./files/usr/bin/cinnamon-settings
|
||||
# this one really IS optional
|
||||
sed "s|/usr/bin/gnome-control-center|/run/current-system/sw/bin/gnome-control-center|g" -i ./files/usr/bin/cinnamon-settings
|
||||
|
||||
sed "s|\"/usr/lib\"|\"${cinnamon-control-center}/lib\"|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/capi.py
|
||||
|
||||
# another bunch of optional stuff
|
||||
sed "s|/usr/bin|/run/current-system/sw/bin|g" -i ./files/usr/bin/cinnamon-launcher
|
||||
|
||||
sed 's|"lspci"|"${pciutils}/bin/lspci"|g' -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
|
||||
|
||||
sed "s| cinnamon-session| ${cinnamon-session}/bin/cinnamon-session|g" -i ./files/usr/bin/cinnamon-session-cinnamon -i ./files/usr/bin/cinnamon-session-cinnamon2d
|
||||
sed "s|/usr/bin|$out/bin|g" -i ./files/usr/share/xsessions/cinnamon.desktop ./files/usr/share/xsessions/cinnamon2d.desktop
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
providedSessions = [ "cinnamon" "cinnamon2d" ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon";
|
||||
description = "The Cinnamon desktop environment";
|
||||
license = [ licenses.gpl2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
25
pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
Normal file
25
pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From 1c99ff9b042d77d97a0841c78fceb7cfbf41aa8b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Sun, 28 Feb 2021 05:58:09 +0100
|
||||
Subject: [PATCH] libdir patch
|
||||
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 3c1e9a4f..a77d9b3c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -14,7 +14,7 @@ includedir = get_option('includedir')
|
||||
libexecdir = get_option('libexecdir')
|
||||
desktopdir = join_paths(datadir, 'applications')
|
||||
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
|
||||
-pkglibdir = join_paths(libdir, meson.project_name().to_lower())
|
||||
+pkglibdir = libdir
|
||||
servicedir = join_paths(datadir, 'dbus-1', 'services')
|
||||
pkgdatadir = join_paths(datadir, meson.project_name().to_lower())
|
||||
po_dir = join_paths(meson.source_root(), 'po')
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From f7e802959d7a5c217ed574cab30404fc769f174d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Sat, 6 Feb 2021 14:26:26 +0100
|
||||
Subject: [PATCH] use sane install dir
|
||||
|
||||
---
|
||||
meson.build | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index bd803f20..3c1e9a4f 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -127,8 +127,14 @@ configure_file(
|
||||
)
|
||||
|
||||
install_subdir(
|
||||
- 'files',
|
||||
- install_dir: '/',
|
||||
+ 'files/usr',
|
||||
+ install_dir: get_option('prefix'),
|
||||
+ strip_directory: true,
|
||||
+)
|
||||
+
|
||||
+install_subdir(
|
||||
+ 'files/etc',
|
||||
+ install_dir: join_paths(get_option('prefix'), 'etc'),
|
||||
strip_directory: true,
|
||||
)
|
||||
|
||||
--
|
||||
2.30.0
|
||||
|
||||
120
pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
Normal file
120
pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, glib
|
||||
, gettext
|
||||
, cinnamon-desktop
|
||||
, gtk3
|
||||
, libnotify
|
||||
, libxml2
|
||||
, gnome-online-accounts
|
||||
, cinnamon-settings-daemon
|
||||
, colord
|
||||
, polkit
|
||||
, libxkbfile
|
||||
, cinnamon-menus
|
||||
, dbus-glib
|
||||
, libgnomekbd
|
||||
, libxklavier
|
||||
, networkmanager
|
||||
, libwacom
|
||||
, gnome
|
||||
, wrapGAppsHook
|
||||
, tzdata
|
||||
, glibc
|
||||
, libnma
|
||||
, modemmanager
|
||||
, xorg
|
||||
, gdk-pixbuf
|
||||
, meson
|
||||
, ninja
|
||||
, cinnamon-translations
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-control-center";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-j7+2uLcHr7bO7i8OGqkw3ifawZULNyihhJ+h2D5gx/k=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
glib
|
||||
cinnamon-desktop
|
||||
libnotify
|
||||
cinnamon-menus
|
||||
libxml2
|
||||
dbus-glib
|
||||
polkit
|
||||
libgnomekbd
|
||||
libxklavier
|
||||
colord
|
||||
cinnamon-settings-daemon
|
||||
libwacom
|
||||
gnome-online-accounts
|
||||
tzdata
|
||||
networkmanager
|
||||
libnma
|
||||
modemmanager
|
||||
xorg.libXxf86misc
|
||||
xorg.libxkbfile
|
||||
gdk-pixbuf
|
||||
];
|
||||
|
||||
/* ./panels/datetime/test-timezone.c:4:#define TZ_DIR "/usr/share/zoneinfo/"
|
||||
./panels/datetime/tz.h:32:# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
|
||||
./panels/datetime/tz.h:34:# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" */
|
||||
|
||||
postPatch = ''
|
||||
sed 's|TZ_DIR "/usr/share/zoneinfo/"|TZ_DIR "${tzdata}/share/zoneinfo/"|g' -i ./panels/datetime/test-timezone.c
|
||||
sed 's|TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"|TZ_DATA_FILE "${tzdata}/share/zoneinfo/zone.tab"|g' -i ./panels/datetime/tz.h
|
||||
sed 's|"/usr/share/i18n/locales/"|"${glibc}/share/i18n/locales/"|g' -i panels/datetime/test-endianess.c
|
||||
|
||||
patchShebangs meson_install_schemas.py
|
||||
'';
|
||||
|
||||
# it needs to have access to that file, otherwise we can't run tests after build
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p $out/share/cinnamon-control-center/
|
||||
ln -s $PWD/panels/datetime $out/share/cinnamon-control-center/
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
# use locales from cinnamon-translations
|
||||
"--localedir=${cinnamon-translations}/share/locale"
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
rm -r $out
|
||||
'';
|
||||
|
||||
# the only test is wacom-calibrator and it seems to need an xserver and prob more services aswell
|
||||
doCheck = false;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
gettext
|
||||
python3
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-control-center";
|
||||
description = "A collection of configuration plugins used in cinnamon-settings";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
78
pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
Normal file
78
pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, intltool
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, pulseaudio
|
||||
, python3
|
||||
, lib
|
||||
, stdenv
|
||||
, xkeyboard_config
|
||||
, xorg
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-desktop";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-gOlSmcHjBjnLdDpgC5mZ4M3eUBTG3BuET6Kr/Xby14A=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
pulseaudio
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gdk-pixbuf
|
||||
xkeyboard_config
|
||||
xorg.libxkbfile
|
||||
xorg.libXext
|
||||
xorg.libXrandr
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
python3
|
||||
wrapGAppsHook
|
||||
intltool
|
||||
pkg-config
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x install-scripts/meson_install_schemas.py # patchShebangs requires executable file
|
||||
patchShebangs install-scripts/meson_install_schemas.py
|
||||
sed "s|/usr/share|/run/current-system/sw/share|g" -i ./schemas/* # NOTE: unless this causes a circular dependency, we could link it to cinnamon-common/share/cinnamon
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-desktop";
|
||||
description = "Library and data for various Cinnamon modules";
|
||||
|
||||
longDescription = ''
|
||||
The libcinnamon-desktop library provides API shared by several applications
|
||||
on the desktop, but that cannot live in the platform for various
|
||||
reasons. There is no API or ABI guarantee, although we are doing our
|
||||
best to provide stability. Documentation for the API is available with
|
||||
gtk-doc.
|
||||
'';
|
||||
|
||||
license = [ licenses.gpl2 licenses.lgpl2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
{ lib
|
||||
, runCommand
|
||||
, nixos-artwork
|
||||
, glib
|
||||
, gtk3
|
||||
, gsettings-desktop-schemas
|
||||
, extraGSettingsOverrides ? ""
|
||||
, extraGSettingsOverridePackages ? [ ]
|
||||
, mint-artwork
|
||||
|
||||
, muffin
|
||||
, nemo
|
||||
, xapps
|
||||
, cinnamon-desktop
|
||||
, cinnamon-session
|
||||
, cinnamon-settings-daemon
|
||||
, cinnamon-common
|
||||
, bulky
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
gsettingsOverridePackages = [
|
||||
# from
|
||||
mint-artwork
|
||||
|
||||
# on
|
||||
bulky
|
||||
muffin
|
||||
nemo
|
||||
xapps
|
||||
cinnamon-desktop
|
||||
cinnamon-session
|
||||
cinnamon-settings-daemon
|
||||
cinnamon-common
|
||||
gtk3
|
||||
] ++ extraGSettingsOverridePackages;
|
||||
|
||||
in
|
||||
|
||||
with lib;
|
||||
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
runCommand "cinnamon-gsettings-overrides" { }
|
||||
''
|
||||
schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
|
||||
mkdir -p $schema_dir
|
||||
|
||||
${concatMapStrings (pkg: "cp -rf ${glib.getSchemaPath pkg}/*.xml ${glib.getSchemaPath pkg}/*.gschema.override $schema_dir\n") gsettingsOverridePackages}
|
||||
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
|
||||
cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas $schema_dir
|
||||
''
|
||||
42
pkgs/desktops/cinnamon/cinnamon-menus/default.nix
Normal file
42
pkgs/desktops/cinnamon/cinnamon-menus/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ fetchFromGitHub
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, lib
|
||||
, stdenv
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-menus";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-ioluv/GdWCNGP2jQqsyEbHncCFm8iu69yR8QVKQTJk8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-menus";
|
||||
description = "A menu system for the Cinnamon project";
|
||||
license = [ licenses.gpl2 licenses.lgpl2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
101
pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
Normal file
101
pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, glib
|
||||
, dbus
|
||||
, gettext
|
||||
, cinnamon-desktop
|
||||
, cinnamon-common
|
||||
, intltool
|
||||
, libxslt
|
||||
, gtk3
|
||||
, libgnomekbd
|
||||
, gnome
|
||||
, libtool
|
||||
, wrapGAppsHook
|
||||
, gobject-introspection
|
||||
, python3
|
||||
, pam
|
||||
, accountsservice
|
||||
, cairo
|
||||
, xapps
|
||||
, xorg
|
||||
, iso-flags-png-320x420
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-screensaver";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-weQ5sw5SY89JFIxamCeLiSLy8xCXGg0Yxj/5Ca5r+6o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
gettext
|
||||
intltool
|
||||
dbus # for meson.build
|
||||
libxslt
|
||||
libtool
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# from meson.build
|
||||
gobject-introspection
|
||||
gtk3
|
||||
glib
|
||||
|
||||
xorg.libXext
|
||||
xorg.libXinerama
|
||||
xorg.libX11
|
||||
xorg.libXrandr
|
||||
|
||||
(python3.withPackages (pp: with pp; [ pygobject3 setproctitle xapp pycairo ]))
|
||||
xapps
|
||||
pam
|
||||
accountsservice
|
||||
cairo
|
||||
cinnamon-desktop
|
||||
cinnamon-common
|
||||
libgnomekbd
|
||||
gnome.caribou
|
||||
|
||||
# things
|
||||
iso-flags-png-320x420
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# cscreensaver hardcodes absolute paths everywhere. Nuke from orbit.
|
||||
find . -type f -exec sed -i \
|
||||
-e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
|
||||
-e s,/usr/lib/cinnamon-screensaver,$out/lib,g \
|
||||
-e s,/usr/share/cinnamon-screensaver,$out/share,g \
|
||||
-e s,/usr/share/iso-flag-png,${iso-flags-png-320x420}/share/iso-flags-png,g \
|
||||
{} +
|
||||
|
||||
sed "s|/usr/share/locale|/run/current-system/sw/share/locale|g" -i ./src/cinnamon-screensaver-main.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-screensaver";
|
||||
description = "The Cinnamon screen locker and screensaver program";
|
||||
license = [ licenses.gpl2 licenses.lgpl2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
From eb4a1eae754f222b1be902c2f050704fb0511cf7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Sat, 5 Sep 2020 23:19:23 +0200
|
||||
Subject: [PATCH] Use dbus_glib instead of elogind
|
||||
|
||||
---
|
||||
cinnamon-session/meson.build | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cinnamon-session/meson.build b/cinnamon-session/meson.build
|
||||
index d8428dc..1f15115 100644
|
||||
--- a/cinnamon-session/meson.build
|
||||
+++ b/cinnamon-session/meson.build
|
||||
@@ -56,6 +56,7 @@ cinnamon_session_sources = [
|
||||
gdbus_sources,
|
||||
]
|
||||
|
||||
+dbus_glib = dependency('dbus-glib-1')
|
||||
executable('cinnamon-session',
|
||||
cinnamon_session_sources,
|
||||
dependencies: [
|
||||
@@ -74,7 +75,7 @@ executable('cinnamon-session',
|
||||
xext,
|
||||
xrender,
|
||||
xtest,
|
||||
- elogind,
|
||||
+ dbus_glib,
|
||||
],
|
||||
link_with: [
|
||||
libegg,
|
||||
@@ -98,4 +99,3 @@ foreach unit: units
|
||||
dependencies: unit[2]
|
||||
)
|
||||
endforeach
|
||||
-
|
||||
--
|
||||
2.28.0
|
||||
|
||||
111
pkgs/desktops/cinnamon/cinnamon-session/default.nix
Normal file
111
pkgs/desktops/cinnamon/cinnamon-session/default.nix
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
{ fetchFromGitHub
|
||||
, cinnamon-desktop
|
||||
, cinnamon-settings-daemon
|
||||
, cinnamon-translations
|
||||
, dbus-glib
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_412
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, gtk3
|
||||
, libcanberra
|
||||
, libxslt
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, lib
|
||||
, stdenv
|
||||
, systemd
|
||||
, wrapGAppsHook
|
||||
, xapps
|
||||
, xmlto
|
||||
, xorg
|
||||
, libexecinfo
|
||||
, pango
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-session";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-E5ascwLnpa5NSBAPo9dXRhoraUntzDPHVV32uDU4U8k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-Use-dbus_glib-instead-of-elogind.patch
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# meson.build
|
||||
gtk3
|
||||
glib
|
||||
libcanberra
|
||||
pango
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xapps
|
||||
xorg.libXau
|
||||
xorg.libXcomposite
|
||||
|
||||
systemd
|
||||
|
||||
xorg.libXtst
|
||||
xorg.libXrender
|
||||
xorg.xtrans
|
||||
|
||||
# other (not meson.build)
|
||||
|
||||
cinnamon-desktop
|
||||
cinnamon-settings-daemon
|
||||
dbus-glib
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
libexecinfo
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_412
|
||||
python3
|
||||
pkg-config
|
||||
libxslt
|
||||
xmlto
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
"-Dgconf=false"
|
||||
# use locales from cinnamon-translations
|
||||
"--localedir=${cinnamon-translations}/share/locale"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x data/meson_install_schemas.py # patchShebangs requires executable file
|
||||
patchShebangs data/meson_install_schemas.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix XDG_DATA_DIRS : "${cinnamon-desktop}/share"
|
||||
--prefix XDG_CONFIG_DIRS : "${cinnamon-settings-daemon}/etc/xdg"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-session";
|
||||
description = "The Cinnamon session manager";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
From 7fa408ebd72c9f1ff7ff4e9d7f4a811465a8a41b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Tue, 21 Jan 2020 03:19:28 +0100
|
||||
Subject: [PATCH] fix: use an impure path to csd-backlight-helper to fix
|
||||
policy-reload bug
|
||||
|
||||
---
|
||||
plugins/power/csd-power-manager.c | 4 ++--
|
||||
.../org.cinnamon.settings-daemon.plugins.power.policy.in | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
|
||||
index 33f4489..84dd98b 100644
|
||||
--- a/plugins/power/csd-power-manager.c
|
||||
+++ b/plugins/power/csd-power-manager.c
|
||||
@@ -2529,7 +2529,7 @@ backlight_helper_get_value (const gchar *argument, CsdPowerManager* manager,
|
||||
#endif
|
||||
|
||||
/* get the data */
|
||||
- command = g_strdup_printf (LIBEXECDIR "/csd-backlight-helper --%s %s",
|
||||
+ command = g_strdup_printf ("/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %s",
|
||||
argument,
|
||||
manager->priv->backlight_helper_preference_args);
|
||||
ret = g_spawn_command_line_sync (command,
|
||||
@@ -2619,7 +2619,7 @@ backlight_helper_set_value (const gchar *argument,
|
||||
#endif
|
||||
|
||||
/* get the data */
|
||||
- command = g_strdup_printf ("pkexec " LIBEXECDIR "/csd-backlight-helper --%s %i %s",
|
||||
+ command = g_strdup_printf ("pkexec " "/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %i %s",
|
||||
argument, value,
|
||||
manager->priv->backlight_helper_preference_args);
|
||||
ret = g_spawn_command_line_sync (command,
|
||||
diff --git a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
|
||||
index 504f017..3569e8c 100644
|
||||
--- a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
|
||||
+++ b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
|
||||
@@ -25,7 +25,7 @@
|
||||
<allow_inactive>no</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
- <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/csd-backlight-helper</annotate>
|
||||
+ <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper</annotate>
|
||||
</action>
|
||||
|
||||
</policyconfig>
|
||||
--
|
||||
2.30.0
|
||||
|
||||
127
pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
Normal file
127
pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
{ fetchFromGitHub
|
||||
, cinnamon-desktop
|
||||
, cinnamon-translations
|
||||
, colord
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, gtk3
|
||||
, lcms2
|
||||
, libcanberra-gtk3
|
||||
, libgnomekbd
|
||||
, libnotify
|
||||
, libxklavier
|
||||
, wrapGAppsHook
|
||||
, pkg-config
|
||||
, pulseaudio
|
||||
, lib
|
||||
, stdenv
|
||||
, systemd
|
||||
, upower
|
||||
, dconf
|
||||
, cups
|
||||
, polkit
|
||||
, librsvg
|
||||
, libwacom
|
||||
, xf86_input_wacom
|
||||
, xorg
|
||||
, fontconfig
|
||||
, tzdata
|
||||
, nss
|
||||
, libgudev
|
||||
, meson
|
||||
, ninja
|
||||
, dbus
|
||||
, dbus-glib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-settings-daemon";
|
||||
version = "5.2.0";
|
||||
|
||||
/* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
|
||||
#include "csd-power-proxy.h"
|
||||
^~~~~~~~~~~~~~~~~~~
|
||||
compilation terminated. */
|
||||
|
||||
# but this occurs only sometimes, so disabling parallel building
|
||||
# also see https://github.com/linuxmint/cinnamon-settings-daemon/issues/248
|
||||
enableParallelBuilding = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-6omif4UxMrXWxL+R9lQ8ogxotW+3E9Kp99toH3PJtaU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./csd-backlight-helper-fix.patch
|
||||
./use-sane-install-dir.patch
|
||||
];
|
||||
|
||||
mesonFlags = [ "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" ];
|
||||
|
||||
buildInputs = [
|
||||
cinnamon-desktop
|
||||
colord
|
||||
gtk3
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
lcms2
|
||||
libcanberra-gtk3
|
||||
libgnomekbd
|
||||
libnotify
|
||||
libxklavier
|
||||
pulseaudio
|
||||
systemd
|
||||
upower
|
||||
dconf
|
||||
cups
|
||||
polkit
|
||||
librsvg
|
||||
libwacom
|
||||
xf86_input_wacom
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXi
|
||||
xorg.libXtst
|
||||
xorg.libXfixes
|
||||
fontconfig
|
||||
nss
|
||||
libgudev
|
||||
dbus
|
||||
dbus-glib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
postPatch = ''
|
||||
sed "s|/usr/share/zoneinfo|${tzdata}/share/zoneinfo|g" -i plugins/datetime/system-timezone.h
|
||||
'';
|
||||
|
||||
# use locales from cinnamon-translations (not using --localedir because datadir is used)
|
||||
postInstall = ''
|
||||
ln -s ${cinnamon-translations}/share/locale $out/share/locale
|
||||
'';
|
||||
|
||||
# So the polkit policy can reference /run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper
|
||||
postFixup = ''
|
||||
mkdir -p $out/bin/cinnamon-settings-daemon
|
||||
ln -s $out/libexec/csd-backlight-helper $out/bin/cinnamon-settings-daemon/csd-backlight-helper
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-settings-daemon";
|
||||
description = "The settings daemon for the Cinnamon desktop";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From be57c01e6595a8e08ecc17de298e30640b532f11 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Sat, 6 Feb 2021 13:55:03 +0100
|
||||
Subject: [PATCH] use sane install-dir
|
||||
|
||||
---
|
||||
meson.build | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0e11d50..54f4637 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -156,8 +156,8 @@ subdir('cinnamon-settings-daemon')
|
||||
subdir('plugins')
|
||||
|
||||
install_subdir(
|
||||
- 'files',
|
||||
- install_dir: '/',
|
||||
+ 'files/usr',
|
||||
+ install_dir: get_option('prefix'),
|
||||
strip_directory: true,
|
||||
)
|
||||
|
||||
--
|
||||
2.30.0
|
||||
|
||||
33
pkgs/desktops/cinnamon/cinnamon-translations/default.nix
Normal file
33
pkgs/desktops/cinnamon/cinnamon-translations/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, gettext
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-translations";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-t3PydmS2+LU++2NcosgMr9KTXW0Qy1Re9+YcS3KMDi8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mv usr $out # files get installed like so: msgfmt -o usr/share/locale/$lang/LC_MESSAGES/$dir.mo $file
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cinnamon-translations";
|
||||
description = "Translations files for the Cinnamon desktop";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
98
pkgs/desktops/cinnamon/cjs/default.nix
Normal file
98
pkgs/desktops/cinnamon/cjs/default.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{ dbus-glib
|
||||
, fetchFromGitHub
|
||||
, gobject-introspection
|
||||
, pkg-config
|
||||
, lib
|
||||
, stdenv
|
||||
, wrapGAppsHook
|
||||
, python3
|
||||
, cairo
|
||||
, gnome
|
||||
, xapps
|
||||
, keybinder3
|
||||
, upower
|
||||
, callPackage
|
||||
, glib
|
||||
, libffi
|
||||
, gtk3
|
||||
, readline
|
||||
, spidermonkey_78
|
||||
, meson
|
||||
, sysprof
|
||||
, dbus
|
||||
, xvfb-run
|
||||
, ninja
|
||||
, makeWrapper
|
||||
, which
|
||||
, libxml2
|
||||
, gtk4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cjs";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "cjs";
|
||||
rev = version;
|
||||
hash = "sha256-06sTk513qVMdznSHJzzB3XIPTcfjgxTB2o+ALqwPpHM=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
makeWrapper
|
||||
which # for locale detection
|
||||
libxml2 # for xml-stripblanks
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
gobject-introspection
|
||||
cairo
|
||||
readline
|
||||
spidermonkey_78
|
||||
dbus # for dbus-run-session
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
xvfb-run
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
|
||||
# bindings
|
||||
gnome.caribou
|
||||
keybinder3
|
||||
upower
|
||||
xapps
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dprofiler=disabled"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/cjs";
|
||||
description = "JavaScript bindings for Cinnamon";
|
||||
|
||||
longDescription = ''
|
||||
This module contains JavaScript bindings based on gobject-introspection.
|
||||
'';
|
||||
|
||||
license = with licenses; [
|
||||
gpl2Plus
|
||||
lgpl2Plus
|
||||
mit
|
||||
mpl11
|
||||
];
|
||||
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
38
pkgs/desktops/cinnamon/default.nix
Normal file
38
pkgs/desktops/cinnamon/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ pkgs, lib }:
|
||||
|
||||
lib.makeScope pkgs.newScope (self: with self; {
|
||||
iso-flags-png-320x420 = pkgs.iso-flags.overrideAttrs (p: p // {
|
||||
buildPhase = "make png-country-320x240-fancy";
|
||||
# installPhase = "mkdir -p $out/share && mv build/png-country-4x2-fancy/res-320x240 $out/share/iso-flags-png-320x420";
|
||||
installPhase = "mkdir -p $out/share && mv build/png-country-4x2-fancy/res-320x240 $out/share/iso-flags-png";
|
||||
});
|
||||
|
||||
iso-flags-svg = pkgs.iso-flags.overrideAttrs (p: p // {
|
||||
buildPhase = "mkdir -p $out/share";
|
||||
installPhase = "mv svg $out/share/iso-flags-svg";
|
||||
});
|
||||
|
||||
# blueberry -> pkgs/tools/bluetooth/blueberry/default.nix
|
||||
bulky = callPackage ./bulky { };
|
||||
cinnamon-common = callPackage ./cinnamon-common { };
|
||||
cinnamon-control-center = callPackage ./cinnamon-control-center { };
|
||||
cinnamon-desktop = callPackage ./cinnamon-desktop { };
|
||||
cinnamon-gsettings-overrides = callPackage ./cinnamon-gsettings-overrides { };
|
||||
cinnamon-menus = callPackage ./cinnamon-menus { };
|
||||
cinnamon-translations = callPackage ./cinnamon-translations { };
|
||||
cinnamon-screensaver = callPackage ./cinnamon-screensaver { };
|
||||
cinnamon-session = callPackage ./cinnamon-session { };
|
||||
cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
|
||||
cjs = callPackage ./cjs { };
|
||||
nemo = callPackage ./nemo { };
|
||||
mint-artwork = callPackage ./mint-artwork { };
|
||||
mint-themes = callPackage ./mint-themes { };
|
||||
mint-x-icons = callPackage ./mint-x-icons { };
|
||||
mint-y-icons = callPackage ./mint-y-icons { };
|
||||
muffin = callPackage ./muffin { };
|
||||
pix = callPackage ./pix { };
|
||||
xapps = callPackage ./xapps { };
|
||||
warpinator = callPackage ./warpinator { };
|
||||
xreader = callPackage ./xreader { };
|
||||
xviewer = callPackage ./xviewer { };
|
||||
})
|
||||
48
pkgs/desktops/cinnamon/mint-artwork/default.nix
Normal file
48
pkgs/desktops/cinnamon/mint-artwork/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, glib
|
||||
, nixos-artwork
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-artwork";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz";
|
||||
hash = "sha256-ZRJK1fzIF36BdUlVhLwdFdfgQvN2ashzjgpCxoOIbK8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
|
||||
# note: we fuck up a bunch of stuff but idc
|
||||
find . -type f -exec sed -i \
|
||||
-e s,/usr/share/backgrounds/linuxmint/default_background.jpg,${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png,g \
|
||||
-e s,/usr/share,$out/share,g \
|
||||
-e s,DMZ-White,Vanilla-DMZ,g \
|
||||
-e s,DMZ-Black,Vanilla-DMZ-AA,g \
|
||||
-e s,linuxmint-logo-5,cinnamon-symbolic,g \
|
||||
-e s,^theme-name=Mint-X$,theme-name=Mint-X-Dark,g \
|
||||
{} +
|
||||
|
||||
# fixup broken symlink
|
||||
ln -sf ./sele_ring.jpg usr/share/backgrounds/linuxmint/default_background.jpg
|
||||
|
||||
mv etc $out/etc
|
||||
mv usr/share $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/mint-artwork";
|
||||
description = "Artwork for the cinnamon desktop";
|
||||
license = licenses.gpl3; # from debian/copyright
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
43
pkgs/desktops/cinnamon/mint-themes/default.nix
Normal file
43
pkgs/desktops/cinnamon/mint-themes/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, stdenv
|
||||
, python3
|
||||
, sassc
|
||||
, sass
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-themes";
|
||||
version = "1.8.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "a833fba6917043bf410dee4364c9a36af1ce4c83";
|
||||
hash = "sha256-8abjjD0XoApvqB8SNlWsqIEp7ozgiERGS0kWglw2DWA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
sassc
|
||||
sass
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv usr/share $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/mint-themes";
|
||||
description = "Mint-X and Mint-Y themes for the cinnamon desktop";
|
||||
license = licenses.gpl3; # from debian/copyright
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
58
pkgs/desktops/cinnamon/mint-x-icons/default.nix
Normal file
58
pkgs/desktops/cinnamon/mint-x-icons/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, stdenv
|
||||
, gnome
|
||||
, gnome-icon-theme
|
||||
, hicolor-icon-theme
|
||||
, gtk3
|
||||
, humanity-icon-theme
|
||||
, ubuntu-themes
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-x-icons";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "286eb4acdfc3e3c77572dfd0cd70ffd4208d3a35";
|
||||
hash = "sha256-mZkCEBC1O2mW8rM1kpOWdC5CwIeafyBS95cMY6x1yco=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gnome.adwaita-icon-theme
|
||||
gnome-icon-theme
|
||||
hicolor-icon-theme
|
||||
humanity-icon-theme
|
||||
ubuntu-themes # provides ubuntu-mono-dark
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
mv usr/share $out
|
||||
|
||||
for theme in $out/share/icons/*; do
|
||||
gtk-update-icon-cache $theme
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/mint-x-icons";
|
||||
description = "Mint/metal theme based on mintified versions of Clearlooks Revamp, Elementary and Faenza";
|
||||
license = licenses.gpl3Plus; # from debian/copyright
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
54
pkgs/desktops/cinnamon/mint-y-icons/default.nix
Normal file
54
pkgs/desktops/cinnamon/mint-y-icons/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, stdenv
|
||||
, gnome
|
||||
, gnome-icon-theme
|
||||
, hicolor-icon-theme
|
||||
, gtk3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-y-icons";
|
||||
version = "1.5.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "9489bd161e9503d071227dd36057386a34cfc0a3";
|
||||
hash = "sha256-53yTCWNSJjCpVvrxLfsiaCPNDEZWxJgGVAmVNMNql2M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gnome.adwaita-icon-theme
|
||||
gnome-icon-theme
|
||||
hicolor-icon-theme
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
mv usr/share $out
|
||||
|
||||
for theme in $out/share/icons/*; do
|
||||
gtk-update-icon-cache $theme
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/mint-y-icons";
|
||||
description = "The Mint-Y icon theme";
|
||||
license = licenses.gpl3; # from debian/copyright
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
101
pkgs/desktops/cinnamon/muffin/default.nix
Normal file
101
pkgs/desktops/cinnamon/muffin/default.nix
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
{ fetchFromGitHub
|
||||
, cinnamon-desktop
|
||||
, glib
|
||||
, file
|
||||
, gnome
|
||||
, gnome-doc-utils
|
||||
, fetchpatch
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, intltool
|
||||
, json-glib
|
||||
, libinput
|
||||
, libstartup_notification
|
||||
, libXtst
|
||||
, libxkbcommon
|
||||
, pkg-config
|
||||
, lib
|
||||
, stdenv
|
||||
, udev
|
||||
, xorg
|
||||
, wrapGAppsHook
|
||||
, pango
|
||||
, cairo
|
||||
, gtk-doc
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_43
|
||||
, docbook_xml_dtd_42
|
||||
, docbook_xml_dtd_412
|
||||
, autoconf
|
||||
, automake
|
||||
, gettext
|
||||
, libtool
|
||||
}:
|
||||
|
||||
# it's a frankensteins monster with some cinnamon sparkles added on top of it
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "muffin";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-WAp0HbfRtwsPjJX1kPBqUStqLaudQPZ8E+h4jmggmw8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
glib
|
||||
pango
|
||||
cairo
|
||||
json-glib
|
||||
cinnamon-desktop
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libxkbfile
|
||||
xorg.xkeyboardconfig
|
||||
|
||||
libxkbcommon
|
||||
gnome.zenity
|
||||
libinput
|
||||
libstartup_notification
|
||||
libXtst
|
||||
udev
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
gettext
|
||||
libtool
|
||||
wrapGAppsHook
|
||||
pkg-config
|
||||
intltool
|
||||
|
||||
gnome-doc-utils
|
||||
gtk-doc
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_43
|
||||
docbook_xml_dtd_42
|
||||
docbook_xml_dtd_412
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/muffin";
|
||||
description = "The window management library for the Cinnamon desktop (libmuffin) and its sample WM binary (muffin)";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
78
pkgs/desktops/cinnamon/nemo/default.nix
Normal file
78
pkgs/desktops/cinnamon/nemo/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ fetchFromGitHub
|
||||
, fetchpatch
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, lib
|
||||
, stdenv
|
||||
, wrapGAppsHook
|
||||
, libxml2
|
||||
, gtk3
|
||||
, libnotify
|
||||
, gvfs
|
||||
, cinnamon-desktop
|
||||
, xapps
|
||||
, libexif
|
||||
, exempi
|
||||
, intltool
|
||||
, shared-mime-info
|
||||
, cinnamon-translations
|
||||
, libgsf
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nemo";
|
||||
version = "5.2.4";
|
||||
|
||||
# TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-v63dFiBKtLCmRnwJ6u814lSv+tfPG+IIJtcWCnOEZjk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
libnotify
|
||||
cinnamon-desktop
|
||||
libxml2
|
||||
xapps
|
||||
libexif
|
||||
exempi
|
||||
gvfs
|
||||
gobject-introspection
|
||||
libgsf
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
intltool
|
||||
shared-mime-info
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
# use locales from cinnamon-translations
|
||||
"--localedir=${cinnamon-translations}/share/locale"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/nemo";
|
||||
description = "File browser for Cinnamon";
|
||||
license = [ licenses.gpl2 licenses.lgpl2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
||||
75
pkgs/desktops/cinnamon/pix/default.nix
Normal file
75
pkgs/desktops/cinnamon/pix/default.nix
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, cinnamon-desktop
|
||||
, file
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, gtk3
|
||||
, intltool
|
||||
, itstool
|
||||
, libtool
|
||||
, libxml2
|
||||
, pkg-config
|
||||
, shared-mime-info
|
||||
, wrapGAppsHook
|
||||
, xapps
|
||||
, yelp-tools
|
||||
, libsecret
|
||||
, webkitgtk
|
||||
, libwebp
|
||||
, librsvg
|
||||
, json-glib
|
||||
, gnome
|
||||
, clutter
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pix";
|
||||
version = "2.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-yB8nLGvJZOViD+i4IkKN0yCDl5wRCvEbjzPDs7ZRMNA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
autoreconfHook
|
||||
cinnamon-desktop
|
||||
gdk-pixbuf
|
||||
gnome.gnome-common
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
intltool
|
||||
itstool
|
||||
libtool
|
||||
pkg-config
|
||||
yelp-tools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
xapps
|
||||
libsecret
|
||||
webkitgtk
|
||||
libwebp
|
||||
librsvg
|
||||
json-glib
|
||||
clutter
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A generic image viewer from Linux Mint";
|
||||
homepage = "https://github.com/linuxmint/pix";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
82
pkgs/desktops/cinnamon/warpinator/default.nix
Normal file
82
pkgs/desktops/cinnamon/warpinator/default.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, gobject-introspection
|
||||
, meson
|
||||
, ninja
|
||||
, python3
|
||||
, gtk3
|
||||
, gdk-pixbuf
|
||||
, wrapGAppsHook
|
||||
, gettext
|
||||
, polkit
|
||||
, glib
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "warpinator";
|
||||
version = "1.2.5";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-pTLM4CrkBLEZS9IdM9IBSGH0WPOj1rlAgvWLOUy6MxY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gobject-introspection
|
||||
wrapGAppsHook
|
||||
gettext
|
||||
polkit # for its gettext
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
gdk-pixbuf
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
grpcio-tools
|
||||
protobuf
|
||||
pygobject3
|
||||
setproctitle
|
||||
xapp
|
||||
zeroconf
|
||||
grpcio
|
||||
setuptools
|
||||
cryptography
|
||||
pynacl
|
||||
netifaces
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dbundle-zeroconf=false"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x install-scripts/*
|
||||
patchShebangs .
|
||||
|
||||
find . -type f -exec sed -i \
|
||||
-e s,/usr/libexec/warpinator,$out/libexec/warpinator,g \
|
||||
{} +
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# these get loaded via import from bin, so don't need wrapping
|
||||
chmod -x+X $out/libexec/warpinator/*.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/warpinator";
|
||||
description = "Share files across the LAN";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
100
pkgs/desktops/cinnamon/xapps/default.nix
Normal file
100
pkgs/desktops/cinnamon/xapps/default.nix
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
{ fetchFromGitHub
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, libgnomekbd
|
||||
, gdk-pixbuf
|
||||
, cairo
|
||||
, xorg
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, lib
|
||||
, stdenv
|
||||
, vala
|
||||
, wrapGAppsHook
|
||||
, inxi
|
||||
, mate
|
||||
, dbus
|
||||
, libdbusmenu-gtk3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xapps";
|
||||
version = "2.2.8";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-70troRGklu5xGjBIrGvshcOX/UT96hIEFXyo4yj2GT4=";
|
||||
};
|
||||
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${glib.dev}/include/gio-unix-2.0"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gobject-introspection
|
||||
(python3.withPackages (ps: with ps; [
|
||||
pygobject3
|
||||
setproctitle # mate applet
|
||||
]))
|
||||
libgnomekbd
|
||||
gdk-pixbuf
|
||||
xorg.libxkbfile
|
||||
python3.pkgs.pygobject3 # for .pc file
|
||||
mate.mate-panel # for gobject-introspection
|
||||
dbus
|
||||
libdbusmenu-gtk3
|
||||
];
|
||||
|
||||
# Requires in xapp.pc
|
||||
propagatedBuildInputs = [
|
||||
gtk3
|
||||
cairo
|
||||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dpy-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
|
||||
|
||||
patchShebangs \
|
||||
libxapp/g-codegen.py \
|
||||
meson-scripts/g-codegen.py \
|
||||
schemas/meson_install_schemas.py
|
||||
|
||||
# Patch pastebin & inxi location
|
||||
sed "s|/usr/bin/pastebin|$out/bin/pastebin|" -i scripts/upload-system-info
|
||||
sed "s|'inxi'|'${inxi}/bin/inxi'|" -i scripts/upload-system-info
|
||||
|
||||
# Patch gtk3 module target dir
|
||||
substituteInPlace libxapp/meson.build \
|
||||
--replace "gtk3_dep.get_pkgconfig_variable('libdir')" "'$out'"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/xapps";
|
||||
description = "Cross-desktop libraries and common resources";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
76
pkgs/desktops/cinnamon/xreader/default.nix
Normal file
76
pkgs/desktops/cinnamon/xreader/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, intltool
|
||||
, shared-mime-info
|
||||
, gtk3
|
||||
, wrapGAppsHook
|
||||
, libxml2
|
||||
, xapps
|
||||
, meson
|
||||
, pkg-config
|
||||
, cairo
|
||||
, libsecret
|
||||
, poppler
|
||||
, libspectre
|
||||
, libgxps
|
||||
, webkitgtk
|
||||
, nodePackages
|
||||
, ninja
|
||||
, gsettings-desktop-schemas
|
||||
, djvulibre
|
||||
, backends ? [ "pdf" "ps" /* "dvi" "t1lib" */ "djvu" "tiff" "pixbuf" "comics" "xps" "epub" ]
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xreader";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-wBrP5SHGPvH/Gz9QY253zQuf8WSjV19oNB5aIqXGLZ8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
shared-mime-info
|
||||
wrapGAppsHook
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
intltool
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dmathjax-directory=${nodePackages.mathjax}"
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
] ++ (map (x: "-D${x}=true") backends);
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
xapps
|
||||
cairo
|
||||
libxml2
|
||||
libsecret
|
||||
poppler
|
||||
libspectre
|
||||
libgxps
|
||||
webkitgtk
|
||||
nodePackages.mathjax
|
||||
djvulibre
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A document viewer capable of displaying multiple and single page
|
||||
document formats like PDF and Postscript";
|
||||
homepage = "https://github.com/linuxmint/xreader";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
71
pkgs/desktops/cinnamon/xviewer/default.nix
Normal file
71
pkgs/desktops/cinnamon/xviewer/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, cinnamon-desktop
|
||||
, file
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, gtk3
|
||||
, intltool
|
||||
, itstool
|
||||
, lcms2
|
||||
, libexif
|
||||
, libjpeg
|
||||
, libpeas
|
||||
, libtool
|
||||
, libxml2
|
||||
, pkg-config
|
||||
, shared-mime-info
|
||||
, wrapGAppsHook
|
||||
, xapps
|
||||
, yelp-tools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xviewer";
|
||||
version = "3.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-OyHSBXtJ/TExl06NLUAaIZq4u0+fI3YGQ37HRZeNP+0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
autoreconfHook
|
||||
cinnamon-desktop
|
||||
gdk-pixbuf
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
intltool
|
||||
itstool
|
||||
libtool
|
||||
pkg-config
|
||||
yelp-tools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
libexif
|
||||
libjpeg
|
||||
libpeas
|
||||
libxml2
|
||||
shared-mime-info
|
||||
xapps
|
||||
lcms2
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A generic image viewer from Linux Mint";
|
||||
homepage = "https://github.com/linuxmint/xviewer";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tu-maurice ] ++ teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
16
pkgs/desktops/enlightenment/default.nix
Normal file
16
pkgs/desktops/enlightenment/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ callPackage, pkgs }:
|
||||
{
|
||||
#### CORE EFL
|
||||
efl = callPackage ./efl { };
|
||||
|
||||
#### WINDOW MANAGER
|
||||
enlightenment = callPackage ./enlightenment { };
|
||||
|
||||
#### APPLICATIONS
|
||||
econnman = callPackage ./econnman { };
|
||||
ecrire = callPackage ./ecrire { };
|
||||
ephoto = callPackage ./ephoto { };
|
||||
evisum = callPackage ./evisum { };
|
||||
rage = callPackage ./rage { };
|
||||
terminology = callPackage ./terminology { };
|
||||
}
|
||||
29
pkgs/desktops/enlightenment/econnman/default.nix
Normal file
29
pkgs/desktops/enlightenment/econnman/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, efl, python3Packages, dbus, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "econnman";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/econnman/${pname}-${version}.tar.gz";
|
||||
sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper pkg-config python3Packages.wrapPython ];
|
||||
|
||||
buildInputs = [ efl python3Packages.python dbus ];
|
||||
|
||||
pythonPath = [ python3Packages.pythonefl python3Packages.dbus-python ];
|
||||
|
||||
postInstall = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A user interface for the connman network connection manager";
|
||||
homepage = "https://enlightenment.org/";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
36
pkgs/desktops/enlightenment/ecrire/default.nix
Normal file
36
pkgs/desktops/enlightenment/ecrire/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, efl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ecrire";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1pszk583rzclfqy3dyjh1m9pz1hnr84vqz8vw9kngcnmj23mjr6r";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
efl
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "EFL simple text editor";
|
||||
homepage = "https://www.enlightenment.org/";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
213
pkgs/desktops/enlightenment/efl/default.nix
Normal file
213
pkgs/desktops/enlightenment/efl/default.nix
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, SDL2
|
||||
, alsa-lib
|
||||
, bullet
|
||||
, check
|
||||
, curl
|
||||
, dbus
|
||||
, doxygen
|
||||
, expat
|
||||
, fontconfig
|
||||
, freetype
|
||||
, fribidi
|
||||
, ghostscript
|
||||
, giflib
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtk3
|
||||
, harfbuzz
|
||||
, hicolor-icon-theme
|
||||
, ibus
|
||||
, jbig2dec
|
||||
, libGL
|
||||
, libdrm
|
||||
, libinput
|
||||
, libjpeg
|
||||
, libpng
|
||||
, libpulseaudio
|
||||
, libraw
|
||||
, librsvg
|
||||
, libsndfile
|
||||
, libspectre
|
||||
, libtiff
|
||||
, libwebp
|
||||
, libxkbcommon
|
||||
, luajit
|
||||
, lz4
|
||||
, mesa
|
||||
, mint-x-icons
|
||||
, openjpeg
|
||||
, openssl
|
||||
, poppler
|
||||
, python3Packages
|
||||
, systemd
|
||||
, udev
|
||||
, util-linux
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, writeText
|
||||
, xorg
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "efl";
|
||||
version = "1.26.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gtk3
|
||||
pkg-config
|
||||
check
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
freetype
|
||||
giflib
|
||||
glib
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
ibus
|
||||
libGL
|
||||
libpng
|
||||
libpulseaudio
|
||||
libsndfile
|
||||
libtiff
|
||||
lz4
|
||||
mesa
|
||||
openssl
|
||||
systemd
|
||||
udev
|
||||
wayland-protocols
|
||||
xorg.libX11
|
||||
xorg.libXcursor
|
||||
xorg.xorgproto
|
||||
zlib
|
||||
# still missing parent icon themes: RAVE-X, Faenza
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
SDL2
|
||||
alsa-lib
|
||||
bullet
|
||||
curl
|
||||
dbus
|
||||
dbus
|
||||
doxygen
|
||||
expat
|
||||
fribidi
|
||||
ghostscript
|
||||
harfbuzz
|
||||
hicolor-icon-theme # for the icon theme
|
||||
jbig2dec
|
||||
libdrm
|
||||
libinput
|
||||
libjpeg
|
||||
libraw
|
||||
librsvg
|
||||
libspectre
|
||||
libwebp
|
||||
libxkbcommon
|
||||
luajit
|
||||
mint-x-icons # Mint-X is a parent icon theme of Enlightenment-X
|
||||
openjpeg
|
||||
poppler
|
||||
util-linux
|
||||
wayland
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
xorg.libxcb
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
mesonFlags = [
|
||||
"--buildtype=release"
|
||||
"-D build-tests=false" # disable build tests, which are not working
|
||||
"-D ecore-imf-loaders-disabler=ibus,scim" # ibus is disabled by default, scim is not availabe in nixpkgs
|
||||
"-D embedded-lz4=false"
|
||||
"-D fb=true"
|
||||
"-D network-backend=connman"
|
||||
"-D sdl=true"
|
||||
"-D elua=true"
|
||||
"-D bindings=lua,cxx"
|
||||
# for wayland client support
|
||||
"-D wl=true"
|
||||
"-D drm=true"
|
||||
];
|
||||
|
||||
patches = [
|
||||
./efl-elua.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/lib/elementary/config_embed
|
||||
|
||||
# fix destination of systemd unit and dbus service
|
||||
substituteInPlace systemd-services/meson.build --replace "sys_dep.get_pkgconfig_variable('systemduserunitdir')" "'$out/systemd/user'"
|
||||
substituteInPlace dbus-services/meson.build --replace "dep.get_pkgconfig_variable('session_bus_services_dir')" "'$out/share/dbus-1/services'"
|
||||
'';
|
||||
|
||||
# bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
|
||||
setupHook = writeText "setupHook.sh" ''
|
||||
export HOME="$TEMPDIR"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# allow ecore_con to find libcurl.so, which is a runtime dependency (it is dlopened)
|
||||
export LD_LIBRARY_PATH="${curl.out}/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
|
||||
|
||||
source "$setupHook"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# fix use of $out variable
|
||||
substituteInPlace "$out/share/elua/core/util.lua" --replace '$out' "$out"
|
||||
rm "$out/share/elua/core/util.lua.orig"
|
||||
|
||||
# add all module include dirs to the Cflags field in efl.pc
|
||||
modules=$(for i in "$out/include/"*/; do printf ' -I''${includedir}/'`basename $i`; done)
|
||||
substituteInPlace "$out/lib/pkgconfig/efl.pc" \
|
||||
--replace 'Cflags: -I''${includedir}/efl-1' \
|
||||
'Cflags: -I''${includedir}/eina-1/eina'"$modules"
|
||||
|
||||
# build icon cache
|
||||
gtk-update-icon-cache "$out"/share/icons/Enlightenment-X
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Some libraries are linked at runtime by hand in code (they are dlopened)
|
||||
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/lib/libecore_con.so
|
||||
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/libecore_audio.so
|
||||
patchelf --add-needed ${libsndfile.out}/lib/libsndfile.so $out/lib/libecore_audio.so
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Enlightenment foundation libraries";
|
||||
homepage = "https://enlightenment.org/";
|
||||
license = with licenses; [ bsd2 lgpl2Only licenses.zlib ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
14
pkgs/desktops/enlightenment/efl/efl-elua.patch
Normal file
14
pkgs/desktops/enlightenment/efl/efl-elua.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
--- ./src/scripts/elua/core/util.lua.old 2015-05-17 11:59:57.307743243 +0200
|
||||
+++ ./src/scripts/elua/core/util.lua 2015-05-17 12:39:11.906797377 +0200
|
||||
@@ -159,7 +159,10 @@
|
||||
local ev = os.getenv("ELUA_" .. libname:upper() .. "_LIBRARY_PATH")
|
||||
local succ, v = load_lib(libname, ev)
|
||||
if not succ then
|
||||
- error(v, 2)
|
||||
+ succ, v = load_lib(libname, "$out/lib")
|
||||
+ if not succ then
|
||||
+ error(v, 2)
|
||||
+ end
|
||||
end
|
||||
lib = v
|
||||
loaded_libs[libname] = lib
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
From 2c563889fcad37df4ee4251bf0a63316d8b7b612 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Thu, 14 May 2020 16:36:34 -0300
|
||||
Subject: [PATCH] wrapped setuid executables
|
||||
|
||||
Installing programs with root ownership and setuid/setgid permissions
|
||||
in /nix/store is not allowed. They should be wrapped in the
|
||||
enlightenment service module, and the wrapped ones should be used
|
||||
instead.
|
||||
---
|
||||
meson/meson_inst.sh | 4 ++--
|
||||
src/bin/e_auth.c | 6 ++----
|
||||
src/bin/e_fm/e_fm_main_eeze.c | 6 +++---
|
||||
src/bin/e_start_main.c | 3 +--
|
||||
src/bin/e_system.c | 2 +-
|
||||
5 files changed, 9 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/meson/meson_inst.sh b/meson/meson_inst.sh
|
||||
index 321143e40..cd2399306 100755
|
||||
--- a/meson/meson_inst.sh
|
||||
+++ b/meson/meson_inst.sh
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
for x in "$@" ; do
|
||||
- chown root "$DESTDIR/$x"
|
||||
- chmod a=rx,u+xs "$DESTDIR/$x"
|
||||
+ echo TODO: chown root "$DESTDIR/$x"
|
||||
+ echo TODO: chmod a=rx,u+xs "$DESTDIR/$x"
|
||||
done
|
||||
diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
|
||||
index 6d07a0ac3..d519f0649 100644
|
||||
--- a/src/bin/e_auth.c
|
||||
+++ b/src/bin/e_auth.c
|
||||
@@ -38,8 +38,7 @@ e_auth_begin(char *passwd)
|
||||
pwlen = strlen(passwd);
|
||||
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_ckpasswd pw",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/wrappers/bin/enlightenment_ckpasswd pw");
|
||||
exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
|
||||
if (!exe) goto out;
|
||||
snprintf(buf, sizeof(buf), "pw %s", passwd);
|
||||
@@ -75,8 +74,7 @@ e_auth_polkit_begin(char *passwd, const char *cookie, unsigned int uid)
|
||||
pwlen = strlen(passwd);
|
||||
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_ckpasswd pk",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/wrappers/bin/enlightenment_ckpasswd pk");
|
||||
exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
|
||||
if (!exe) goto out;
|
||||
snprintf(buf, sizeof(buf), "%s %u %s", cookie, uid, passwd);
|
||||
diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c
|
||||
index 9b10b3117..0f0aa5b53 100644
|
||||
--- a/src/bin/e_fm/e_fm_main_eeze.c
|
||||
+++ b/src/bin/e_fm/e_fm_main_eeze.c
|
||||
@@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf, sizeof(buf), "/run/wrappers/bin/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_EJECT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_eject_timeout, v);
|
||||
@@ -512,7 +512,7 @@ _e_fm_main_eeze_volume_unmount(E_Volume *v)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf, sizeof(buf), "/run/wrappers/bin/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_UNMOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_unmount_timeout, v);
|
||||
@@ -548,7 +548,7 @@ _e_fm_main_eeze_volume_mount(E_Volume *v)
|
||||
{
|
||||
char buf2[PATH_MAX];
|
||||
|
||||
- snprintf(buf2, sizeof(buf2), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf2, sizeof(buf2), "/run/wrappers/bin/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf2);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v);
|
||||
diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c
|
||||
index 722063339..ee85aa9f1 100644
|
||||
--- a/src/bin/e_start_main.c
|
||||
+++ b/src/bin/e_start_main.c
|
||||
@@ -596,8 +596,7 @@ main(int argc, char **argv)
|
||||
eina_prefix_data_get(pfx));
|
||||
putenv(buf2);
|
||||
myasprintf(&buf3,
|
||||
- "E_ALERT_SYSTEM_BIN=%s/enlightenment/utils/enlightenment_system",
|
||||
- eina_prefix_lib_get(pfx));
|
||||
+ "E_ALERT_SYSTEM_BIN=/run/wrappers/bin/enlightenment_system");
|
||||
putenv(buf3);
|
||||
|
||||
home = getenv("HOME");
|
||||
diff --git a/src/bin/e_system.c b/src/bin/e_system.c
|
||||
index bfd43e7e2..6bf48e31f 100644
|
||||
--- a/src/bin/e_system.c
|
||||
+++ b/src/bin/e_system.c
|
||||
@@ -133,7 +133,7 @@ _system_spawn(void)
|
||||
else _respawn_count = 0;
|
||||
if (_respawn_count > 5) return;
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_system", e_prefix_lib_get());
|
||||
+ "/run/wrappers/bin/enlightenment_system");
|
||||
_system_exe = ecore_exe_pipe_run
|
||||
(buf, ECORE_EXE_NOT_LEADER | ECORE_EXE_TERM_WITH_PARENT |
|
||||
ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_WRITE, NULL);
|
||||
--
|
||||
2.34.0
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From b7ef2a0d3f31db55a12b2b8c2e1c60ba62b971c8 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Bagnara <mbagnara@fastmail.com>
|
||||
Date: Wed, 1 Jul 2020 15:30:40 -0500
|
||||
Subject: [PATCH] add nixos path
|
||||
|
||||
---
|
||||
src/bin/e_util_suid.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/bin/e_util_suid.h b/src/bin/e_util_suid.h
|
||||
index b01ff792b..88c2a0f17 100644
|
||||
--- a/src/bin/e_util_suid.h
|
||||
+++ b/src/bin/e_util_suid.h
|
||||
@@ -246,7 +246,7 @@ e_setuid_setup(uid_t *caller_uid, gid_t *caller_gid, char **caller_user, char **
|
||||
# endif
|
||||
#endif
|
||||
// pass 3 - set path and ifs to minimal defaults
|
||||
- putenv("PATH=/bin:/usr/bin:/sbin:/usr/sbin");
|
||||
+ putenv("PATH=/bin:/usr/bin:/sbin:/usr/sbin:/run/current-system/sw/bin");
|
||||
putenv("IFS= \t\n");
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
80
pkgs/desktops/enlightenment/enlightenment/default.nix
Normal file
80
pkgs/desktops/enlightenment/enlightenment/default.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gettext
|
||||
, alsa-lib
|
||||
, acpid
|
||||
, bc
|
||||
, ddcutil
|
||||
, efl
|
||||
, libexif
|
||||
, pam
|
||||
, xkeyboard_config
|
||||
, udisks2
|
||||
|
||||
, waylandSupport ? false, wayland-protocols, xwayland
|
||||
, bluetoothSupport ? true, bluez5
|
||||
, pulseSupport ? !stdenv.isDarwin, libpulseaudio
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "enlightenment";
|
||||
version = "0.25.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
acpid # for systems with ACPI for lid events, AC/Battery plug in/out etc
|
||||
bc # for the Everything module calculator mode
|
||||
ddcutil # specifically libddcutil.so.2 for backlight control
|
||||
efl
|
||||
libexif
|
||||
pam
|
||||
xkeyboard_config
|
||||
udisks2 # for removable storage mounting/unmounting
|
||||
]
|
||||
++ lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control
|
||||
++ lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection
|
||||
++ lib.optionals waylandSupport [ wayland-protocols xwayland ]
|
||||
;
|
||||
|
||||
patches = [
|
||||
# Executables cannot be made setuid in nix store. They should be
|
||||
# wrapped in the enlightenment service module, and the wrapped
|
||||
# executables should be used instead.
|
||||
./0001-wrapped-setuid-executables.patch
|
||||
./0003-setuid-missing-path.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/modules/everything/evry_plug_calc.c \
|
||||
--replace "ecore_exe_pipe_run(\"bc -l\"" "ecore_exe_pipe_run(\"${bc}/bin/bc -l\""
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
"-D systemdunitdir=lib/systemd/user"
|
||||
] ++ lib.optional waylandSupport "-Dwl=true";
|
||||
|
||||
passthru.providedSessions = [ "enlightenment" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Compositing Window Manager and Desktop Shell";
|
||||
homepage = "https://www.enlightenment.org";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
36
pkgs/desktops/enlightenment/ephoto/default.nix
Normal file
36
pkgs/desktops/enlightenment/ephoto/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, efl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ephoto";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1lvhcs4ba8h3z78nyycbww8mj4cscb8k200dcc3cdy8vrvrp7g1n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
efl
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Image viewer and editor written using the Enlightenment Foundation Libraries";
|
||||
homepage = "https://www.smhouston.us/ephoto/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
36
pkgs/desktops/enlightenment/evisum/default.nix
Normal file
36
pkgs/desktops/enlightenment/evisum/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, efl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evisum";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1ip3rmp0hcn0pk6lv089cayx18p1b2wycgvwpnf7ghbdxg7n4q15";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
efl
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "System and process monitor written with EFL";
|
||||
homepage = "https://www.enlightenment.org";
|
||||
license = with licenses; [ isc ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
44
pkgs/desktops/enlightenment/rage/default.nix
Normal file
44
pkgs/desktops/enlightenment/rage/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, efl
|
||||
, gst_all_1
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rage";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "03yal7ajh57x2jhmygc6msf3gzvqkpmzkqzj6dnam5sim8cq9rbw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
efl
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-libav
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Video and audio player along the lines of mplayer";
|
||||
homepage = "https://enlightenment.org/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
36
pkgs/desktops/enlightenment/terminology/default.nix
Normal file
36
pkgs/desktops/enlightenment/terminology/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3, efl, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "terminology";
|
||||
version = "1.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1aasddf2343qj798b5s8qwif3lxj4pyjax6fa9sfi6if9icdkkpq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
efl
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs data/colorschemes/*.py
|
||||
'';
|
||||
|
||||
passthru.tests.test = nixosTests.terminal-emulators.terminology;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Powerful terminal emulator based on EFL";
|
||||
homepage = "https://www.enlightenment.org/about-terminology";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, gnome_python, librsvg, libwnck2, libgtop, pkg-config, python2, gtk2 }:
|
||||
|
||||
let
|
||||
inherit (python2.pkgs) python pygtk;
|
||||
in stdenv.mkDerivation rec {
|
||||
ver_maj = "2.32";
|
||||
ver_min = "0";
|
||||
version = "${ver_maj}.${ver_min}";
|
||||
pname = "gnome-python-desktop";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2";
|
||||
sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 librsvg libwnck2 libgtop python ];
|
||||
propagatedBuildInputs = [ gnome_python pygtk ];
|
||||
|
||||
# gnome-python-desktop expects that .pth file is already installed by PyGTK
|
||||
# in the same directory. This is not the case for Nix.
|
||||
postInstall = ''
|
||||
echo "gtk-2.0" > $out/${python2.sitePackages}/${pname}-${version}.pth
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.pygtk.org";
|
||||
description = "Python bindings for GNOME desktop packages";
|
||||
license = licenses.lgpl21;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
};
|
||||
}
|
||||
33
pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
Normal file
33
pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchurl, python2, pkg-config, libgnome, GConf, glib, gtk2, gnome_vfs }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
inherit (python2.pkgs) python pygobject2 pygtk dbus-python;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gnome-python";
|
||||
version = "2.28.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-python/${lib.versions.majorMinor version}/gnome-python-${version}.tar.bz2";
|
||||
sha256 = "759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ python glib gtk2 GConf libgnome gnome_vfs ];
|
||||
propagatedBuildInputs = [ pygobject2 pygtk dbus-python ];
|
||||
|
||||
# gnome-python expects that .pth file is already installed by PyGTK in the
|
||||
# same directory. This is not the case for Nix.
|
||||
postInstall = ''
|
||||
echo "gtk-2.0" > $out/${python2.sitePackages}/gnome-python-${version}.pth
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://pygtk.org/";
|
||||
description = "Python wrapper for GNOME libraries";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.lgpl2;
|
||||
maintainers = with maintainers; [ qknight ];
|
||||
};
|
||||
}
|
||||
89
pkgs/desktops/gnome-2/default.nix
Normal file
89
pkgs/desktops/gnome-2/default.nix
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{ config, stdenv, pkgs, lib }:
|
||||
|
||||
lib.makeScope pkgs.newScope (self: with self; {
|
||||
|
||||
#### PLATFORM
|
||||
|
||||
libIDL = callPackage ./platform/libIDL {
|
||||
gettext = if stdenv.isDarwin then pkgs.gettext else null;
|
||||
};
|
||||
|
||||
ORBit2 = callPackage ./platform/ORBit2 { };
|
||||
|
||||
libart_lgpl = callPackage ./platform/libart_lgpl { };
|
||||
|
||||
libglade = callPackage ./platform/libglade { };
|
||||
|
||||
libgnomeprint = callPackage ./platform/libgnomeprint { };
|
||||
|
||||
libgnomeprintui = callPackage ./platform/libgnomeprintui { };
|
||||
|
||||
libgnomecups = callPackage ./platform/libgnomecups { };
|
||||
|
||||
libgtkhtml = callPackage ./platform/libgtkhtml { };
|
||||
|
||||
GConf = callPackage ./platform/GConf { };
|
||||
|
||||
libgnomecanvas = callPackage ./platform/libgnomecanvas { };
|
||||
|
||||
libgnomecanvasmm = callPackage ./platform/libgnomecanvasmm { };
|
||||
|
||||
# for git-head builds
|
||||
gnome-common = callPackage platform/gnome-common { };
|
||||
|
||||
gnome_mime_data = callPackage ./platform/gnome-mime-data { };
|
||||
|
||||
gnome_python = callPackage ./bindings/gnome-python { };
|
||||
|
||||
gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
|
||||
|
||||
gnome_vfs = callPackage ./platform/gnome-vfs { };
|
||||
|
||||
libgnome = callPackage ./platform/libgnome { };
|
||||
|
||||
libgnomeui = callPackage ./platform/libgnomeui { };
|
||||
|
||||
libbonobo = callPackage ./platform/libbonobo { };
|
||||
|
||||
libbonoboui = callPackage ./platform/libbonoboui { };
|
||||
|
||||
gtkhtml = callPackage ./platform/gtkhtml { enchant = pkgs.enchant1; };
|
||||
|
||||
gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { enchant = pkgs.enchant2; };
|
||||
|
||||
gtkglext = callPackage ./platform/gtkglext { };
|
||||
|
||||
#### DESKTOP
|
||||
|
||||
# Removed from recent GNOME releases, but still required
|
||||
scrollkeeper = callPackage ./desktop/scrollkeeper { };
|
||||
|
||||
gtksourceview = callPackage ./desktop/gtksourceview {
|
||||
autoreconfHook = pkgs.autoreconfHook269;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs config.allowAliases {
|
||||
inherit (pkgs)
|
||||
# GTK Libs
|
||||
glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtkmm2 libcanberra-gtk2
|
||||
|
||||
# Included for backwards compatibility
|
||||
libsoup libwnck2 gtk-doc gnome-doc-utils rarian
|
||||
|
||||
gvfs # added 2019-09-03
|
||||
;
|
||||
|
||||
gtk = pkgs.gtk2;
|
||||
gtkmm = pkgs.gtkmm2;
|
||||
python_rsvg = self.gnome_python_desktop;
|
||||
|
||||
gtkdoc = pkgs.gtk-doc;
|
||||
startup_notification = pkgs.libstartup_notification;
|
||||
startupnotification = pkgs.libstartup_notification;
|
||||
gnomedocutils = pkgs.gnome-doc-utils;
|
||||
gnome-icon-theme = pkgs.gnome-icon-theme;
|
||||
gnome_icon_theme = self.gnome-icon-theme;
|
||||
gnomeicontheme = self.gnome-icon-theme;
|
||||
gnome_common = gnome-common;
|
||||
libglademm = throw "libglademm has been removed"; # 2022-01-15
|
||||
})
|
||||
43
pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
Normal file
43
pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{lib, stdenv, fetchpatch, fetchurl, autoreconfHook, pkg-config, atk, cairo, glib
|
||||
, gnome-common, gtk2, pango
|
||||
, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 }:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtksourceview";
|
||||
version = "2.10.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gtksourceview/2.10/${pname}-${version}.tar.bz2";
|
||||
sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e";
|
||||
};
|
||||
|
||||
patches = optionals stdenv.isDarwin [
|
||||
(fetchpatch {
|
||||
name = "change-igemacintegration-to-gtkosxapplication.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/e88357c5f210a8796104505c090fb6a04c213902.patch";
|
||||
sha256 = "0h5q79q9dqbg46zcyay71xn1pm4aji925gjd5j93v4wqn41wj5m7";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "update-to-gtk-mac-integration-2.0-api.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/gtksourceview/commit/ab46e552e1d0dae73f72adac8d578e40bdadaf95.patch";
|
||||
sha256 = "0qzrbv4hpa0v8qbmpi2vp575n13lkrvp3cgllwrd2pslw1v9q3aj";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
atk cairo glib gtk2
|
||||
pango libxml2Python perl intltool
|
||||
gettext
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
autoreconfHook gnome-common gtk-mac-integration-gtk2
|
||||
];
|
||||
|
||||
preConfigure = optionalString stdenv.isDarwin ''
|
||||
intltoolize --force
|
||||
'';
|
||||
|
||||
doCheck = false; # requires X11 daemon
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
--- jbsrc/jb.c.orig 2014-01-19 20:06:48.525462981 +0100
|
||||
+++ jbsrc/jb.c 2014-01-19 20:07:36.087934897 +0100
|
||||
@@ -425,7 +425,6 @@
|
||||
*/
|
||||
jb_compile_options_add_cflags(object->compile_options, "-std=c99");
|
||||
jb_compile_options_add_cppflags(object->compile_options, "-D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L");
|
||||
- jb_compile_options_add_libs(object->compile_options, "-lbsd-compat");
|
||||
}
|
||||
|
||||
jb_compile_options_add_string_defines(object->compile_options,
|
||||
22
pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
Normal file
22
pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "scrollkeeper";
|
||||
version = "0.3.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/scrollkeeper/${lib.versions.majorMinor version}/scrollkeeper-${version}.tar.bz2";
|
||||
sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
|
||||
};
|
||||
|
||||
# The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess
|
||||
preConfigure = "
|
||||
substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog
|
||||
cp ${automake}/share/automake*/config.{sub,guess} .
|
||||
";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libxml2 libxslt gettext ]
|
||||
++ (with perlPackages; [ perl XMLParser ]);
|
||||
configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/catalog.xml" ];
|
||||
}
|
||||
36
pkgs/desktops/gnome-2/platform/GConf/default.nix
Normal file
36
pkgs/desktops/gnome-2/platform/GConf/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, dbus-glib, glib, ORBit2, libxml2, polkit, python3, intltool }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gconf";
|
||||
version = "3.2.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/GConf/${lib.versions.majorMinor version}/GConf-${version}.tar.xz";
|
||||
sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
buildInputs = [ ORBit2 libxml2 python3 ]
|
||||
# polkit requires pam, which requires shadow.h, which is not available on
|
||||
# darwin
|
||||
++ lib.optional (!stdenv.isDarwin) polkit;
|
||||
|
||||
propagatedBuildInputs = [ glib dbus-glib ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
|
||||
configureFlags =
|
||||
# fixes the "libgconfbackend-oldxml.so is not portable" error on darwin
|
||||
lib.optional stdenv.isDarwin [ "--enable-static" ];
|
||||
|
||||
postPatch = ''
|
||||
2to3 --write --nobackup gsettings/gsettings-schema-convert
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://projects.gnome.org/gconf/";
|
||||
description = "Deprecated system for storing application preferences";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
51
pkgs/desktops/gnome-2/platform/ORBit2/default.nix
Normal file
51
pkgs/desktops/gnome-2/platform/ORBit2/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ORBit2";
|
||||
version = "2.14.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/ORBit2/${lib.versions.majorMinor version}/ORBit2-${version}.tar.bz2";
|
||||
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config libintl ];
|
||||
propagatedBuildInputs = [ glib libIDL ];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
preBuild = ''
|
||||
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
moveToOutput "bin/orbit2-config" "$dev"
|
||||
'';
|
||||
|
||||
# Parallel build fails due to missing internal library dependency:
|
||||
# libtool --tag=CC --mode=link gcc ... -o orbit-name-server-2 ...
|
||||
# ld: cannot find libname-server-2.a: No such file or directory
|
||||
# It happens because orbit-name-server-2 should have libname-server-2.a
|
||||
# in _DEPENDENCIES but does not. Instead of fixing it and regenerating
|
||||
# Makefile.in let's just disable parallel build.
|
||||
enableParallelBuilding = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://developer-old.gnome.org/ORBit2/";
|
||||
description = "A CORBA 2.4-compliant Object Request Broker";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
|
||||
longDescription = ''
|
||||
ORBit2 is a CORBA 2.4-compliant Object Request Broker (ORB) featuring
|
||||
mature C, C++ and Python bindings. Bindings (in various degrees of
|
||||
completeness) are also available for Perl, Lisp, Pascal, Ruby, and TCL;
|
||||
others are in-progress. It supports POA, DII, DSI, TypeCode, Any, IR and
|
||||
IIOP. Optional features including INS and threading are available. ORBit2
|
||||
is engineered for the desktop workstation environment, with a focus on
|
||||
performance, low resource usage, and security. The core ORB is written in
|
||||
C, and runs under Linux, UNIX (BSD, Solaris, HP-UX, ...), and Windows.
|
||||
ORBit2 is developed and released as open source software under GPL/LGPL.
|
||||
'';
|
||||
};
|
||||
}
|
||||
19
pkgs/desktops/gnome-2/platform/gnome-common/default.nix
Normal file
19
pkgs/desktops/gnome-2/platform/gnome-common/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, stdenv, fetchurl, which }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-common";
|
||||
version = "2.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/gnome-common-${version}.tar.bz2";
|
||||
sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ which ]; # autogen.sh which is using gnome-common tends to require which
|
||||
|
||||
patches = [(fetchurl {
|
||||
name = "gnome-common-patch";
|
||||
url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
|
||||
sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
|
||||
})];
|
||||
}
|
||||
11
pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix
Normal file
11
pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ lib, stdenv, fetchurl, intltool }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-mime-data";
|
||||
version = "2.18.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-mime-data/${lib.versions.majorMinor version}/gnome-mime-data-${version}.tar.bz2";
|
||||
sha256 = "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p";
|
||||
};
|
||||
nativeBuildInputs = [ intltool ];
|
||||
}
|
||||
38
pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
Normal file
38
pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, bzip2, openssl, dbus-glib
|
||||
, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-vfs";
|
||||
version = "2.24.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-vfs/${lib.versions.majorMinor version}/gnome-vfs-${version}.tar.bz2";
|
||||
sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkg-config ];
|
||||
buildInputs =
|
||||
[ libxml2 bzip2 openssl dbus-glib gamin cdparanoia
|
||||
gnome_mime_data avahi acl
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ GConf glib ];
|
||||
|
||||
# struct SSL is opaque in openssl-1.1; and the SSL_free() man page
|
||||
# says that one should not free members of it manually (in both
|
||||
# the openssl-1.0 and openssl-1.1 man pages).
|
||||
# https://bugs.gentoo.org/592540
|
||||
patches = [ (fetchpatch {
|
||||
name = "gnome-vfs-2.24.4-openssl-1.1.patch";
|
||||
url = "https://bugs.gentoo.org/attachment.cgi?id=535944";
|
||||
sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040";
|
||||
extraPrefix = "";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
|
||||
|
||||
doCheck = false; # needs dbus daemon
|
||||
}
|
||||
69
pkgs/desktops/gnome-2/platform/gtkglext/default.nix
Normal file
69
pkgs/desktops/gnome-2/platform/gtkglext/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitLab
|
||||
, pkg-config
|
||||
, gtk-doc
|
||||
, autoconf
|
||||
, automake
|
||||
, which
|
||||
, libtool
|
||||
, gobject-introspection
|
||||
, glib
|
||||
, gtk2
|
||||
, libGLU
|
||||
, libGL
|
||||
, pango
|
||||
, xorg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkglext";
|
||||
version = "unstable-2019-12-19";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "Archive";
|
||||
repo = pname;
|
||||
# build fixes
|
||||
# https://gitlab.gnome.org/Archive/gtkglext/merge_requests/1
|
||||
rev = "ad95fbab68398f81d7a5c895276903b0695887e2";
|
||||
sha256 = "1d1bp4635nla7d07ci40c7w4drkagdqk8wg93hywvdipmjfb4yqb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
gtk-doc
|
||||
autoconf
|
||||
automake
|
||||
which
|
||||
libtool
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk2
|
||||
libGLU
|
||||
libGL
|
||||
pango
|
||||
xorg.libX11
|
||||
xorg.libXmu
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://projects.gnome.org/gtkglext/";
|
||||
description = "GtkGLExt, an OpenGL extension to GTK";
|
||||
longDescription = ''
|
||||
GtkGLExt is an OpenGL extension to GTK. It provides additional GDK
|
||||
objects which support OpenGL rendering in GTK and GtkWidget API
|
||||
add-ons to make GTK widgets OpenGL-capable. In contrast to Janne
|
||||
Löf's GtkGLArea, GtkGLExt provides a GtkWidget API that enables
|
||||
OpenGL drawing for standard and custom GTK widgets.
|
||||
'';
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
diff -Naur gtkhtml-3.32.2-orig/configure gtkhtml-3.32.2/configure
|
||||
--- gtkhtml-3.32.2-orig/configure 2011-02-05 23:12:31.000000000 -0500
|
||||
+++ gtkhtml-3.32.2/configure 2011-04-22 13:03:18.228874636 -0400
|
||||
@@ -5761,12 +5761,7 @@
|
||||
|
||||
if test "x${enable_deprecated_flags}" = "xyes"; then
|
||||
|
||||
- list="-DG_DISABLE_DEPRECATED
|
||||
- -DPANGO_DISABLE_DEPRECATED
|
||||
- -DGDK_DISABLE_DEPRECATED
|
||||
- -DGDK_PIXBUF_DISABLE_DEPRECATED
|
||||
- -DGTK_DISABLE_DEPRECATED
|
||||
- -DGNOME_DISABLE_DEPRECATED"
|
||||
+ list=""
|
||||
flags_supported=""
|
||||
flags_unsupported=""
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported compiler flags" >&5
|
||||
30
pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix
Normal file
30
pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ stdenv, fetchFromGitLab, pkg-config, gtk3, intltool, autoreconfHook, fetchpatch
|
||||
, GConf, enchant, isocodes, gnome-icon-theme, gsettings-desktop-schemas }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.10.0";
|
||||
pname = "gtkhtml";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "Archive";
|
||||
repo = "gtkhtml";
|
||||
rev = "master";
|
||||
sha256 = "sha256-jL8YADvhW0o6I/2Uo5FNARMAnSbvtmFp+zWH1yCVvQk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Enables enchant2 support.
|
||||
# Upstream is dead, no further releases are coming.
|
||||
(fetchpatch {
|
||||
name ="enchant-2.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/enchant-2.patch?h=gtkhtml4&id=0218303a63d64c04d6483a6fe9bb55063fcfaa43";
|
||||
sha256 = "f0OToWGHZwxvqf+0qosfA9FfwJ/IXfjIPP5/WrcvArI=";
|
||||
extraPrefix = "";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome-icon-theme GConf ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ intltool enchant isocodes autoreconfHook ];
|
||||
}
|
||||
21
pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
Normal file
21
pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool,
|
||||
GConf, enchant, isocodes, gnome-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkhtml";
|
||||
version = "3.32.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gtkhtml/${lib.versions.majorMinor version}/gtkhtml-${version}.tar.bz2";
|
||||
sha256 = "17z3jwvpn8waz7bhwrk7a6vs9pad6sqmlxxcqwvxxq89ywy0ail7";
|
||||
};
|
||||
|
||||
#From Debian, fixes build issue described here:
|
||||
#http://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg250091.html
|
||||
patches = [ ./01_remove-disable-deprecated.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 intltool GConf enchant isocodes gnome-icon-theme ];
|
||||
|
||||
NIX_LDFLAGS = "-lgthread-2.0";
|
||||
}
|
||||
15
pkgs/desktops/gnome-2/platform/libIDL/default.nix
Normal file
15
pkgs/desktops/gnome-2/platform/libIDL/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libIDL";
|
||||
version = "0.8.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libIDL/${lib.versions.majorMinor version}/libIDL-${version}.tar.bz2";
|
||||
sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5";
|
||||
};
|
||||
|
||||
buildInputs = [ glib gettext ];
|
||||
|
||||
nativeBuildInputs = [ flex bison pkg-config ];
|
||||
}
|
||||
10
pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix
Normal file
10
pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libart_lgpl";
|
||||
version = "2.3.21";
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libart_lgpl/${lib.versions.majorMinor version}/libart_lgpl-${version}.tar.bz2";
|
||||
sha256 = "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx";
|
||||
};
|
||||
}
|
||||
21
pkgs/desktops/gnome-2/platform/libbonobo/default.nix
Normal file
21
pkgs/desktops/gnome-2/platform/libbonobo/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, libxml2, popt
|
||||
, intltool, ORBit2, procps }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libbonobo";
|
||||
version = "2.32.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libbonobo/${lib.versions.majorMinor version}/libbonobo-${version}.tar.bz2";
|
||||
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
preConfigure = # still using stuff deprecated in new glib versions
|
||||
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";
|
||||
|
||||
nativeBuildInputs = [ flex bison pkg-config intltool procps ];
|
||||
buildInputs = [ libxml2 ];
|
||||
propagatedBuildInputs = [ popt glib ORBit2 ];
|
||||
}
|
||||
18
pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
Normal file
18
pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, stdenv, fetchurl, bison, pkg-config, popt, libxml2, gtk2, libtool
|
||||
, intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libbonoboui";
|
||||
version = "2.24.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libbonoboui/${lib.versions.majorMinor version}/libbonoboui-${version}.tar.bz2";
|
||||
sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
buildInputs = [ bison popt gtk2 libxml2 GConf libglade libtool ];
|
||||
propagatedBuildInputs = [ libbonobo libgnomecanvas libgnome ];
|
||||
}
|
||||
20
pkgs/desktops/gnome-2/platform/libglade/default.nix
Normal file
20
pkgs/desktops/gnome-2/platform/libglade/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libglade";
|
||||
version = "2.6.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libglade/${lib.versions.majorMinor version}/libglade-${version}.tar.bz2";
|
||||
sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 gettext ];
|
||||
|
||||
NIX_LDFLAGS = "-lgmodule-2.0";
|
||||
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
}
|
||||
23
pkgs/desktops/gnome-2/platform/libgnome/default.nix
Normal file
23
pkgs/desktops/gnome-2/platform/libgnome/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, glib, popt, zlib, libcanberra-gtk2
|
||||
, intltool, libbonobo, GConf, gnome_vfs, libtool, libogg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnome";
|
||||
version = "2.32.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnome/${lib.versions.majorMinor version}/libgnome-${version}.tar.bz2";
|
||||
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
|
||||
};
|
||||
|
||||
patches = [ ./new-glib.patch ];
|
||||
/* There's a comment containing an invalid utf-8 sequence, breaking glib-mkenums. */
|
||||
postPatch = "sed '/returns the true filename/d' -i libgnome/gnome-config.h";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra-gtk2 libtool ];
|
||||
propagatedBuildInputs = [ glib libbonobo libogg ];
|
||||
}
|
||||
65
pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
Normal file
65
pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
Porting libgnome to newer glib:
|
||||
* remove g_thread_init and g_thread_supported, which are longer needed
|
||||
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#g-thread-init
|
||||
* replace GStaticRecMutex by GRecMutex
|
||||
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#GStaticRecMutex
|
||||
|
||||
diff --git a/libgnome/gnome-i18n.c b/libgnome/gnome-i18n.c
|
||||
index 531c56c..f13d61e 100644
|
||||
--- a/libgnome/gnome-i18n.c
|
||||
+++ b/libgnome/gnome-i18n.c
|
||||
@@ -55,12 +55,14 @@
|
||||
const GList *
|
||||
gnome_i18n_get_language_list (const gchar *ignored)
|
||||
{
|
||||
- static GStaticRecMutex lang_list_lock = G_STATIC_REC_MUTEX_INIT;
|
||||
+ static GRecMutex lang_list_lock;
|
||||
+ g_rec_mutex_init (&lang_list_lock);
|
||||
+
|
||||
static GList *list = NULL;
|
||||
const char * const* langs;
|
||||
int i;
|
||||
|
||||
- g_static_rec_mutex_lock (&lang_list_lock);
|
||||
+ g_rec_mutex_lock (&lang_list_lock);
|
||||
|
||||
if (list == NULL) {
|
||||
langs = g_get_language_names ();
|
||||
@@ -71,7 +73,7 @@ gnome_i18n_get_language_list (const gchar *ignored)
|
||||
list = g_list_reverse (list);
|
||||
}
|
||||
|
||||
- g_static_rec_mutex_unlock (&lang_list_lock);
|
||||
+ g_rec_mutex_unlock (&lang_list_lock);
|
||||
|
||||
return list;
|
||||
}
|
||||
diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c
|
||||
index fe3efd4..c6619af 100644
|
||||
--- a/libgnome/gnome-init.c
|
||||
+++ b/libgnome/gnome-init.c
|
||||
@@ -115,9 +115,6 @@ gnome_bonobo_module_info_get (void)
|
||||
static void
|
||||
bonobo_activation_pre_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_info)
|
||||
{
|
||||
- if (!g_thread_supported ())
|
||||
- g_thread_init (NULL);
|
||||
-
|
||||
if (!bonobo_activation_is_initialized ())
|
||||
bonobo_activation_preinit (program, mod_info);
|
||||
}
|
||||
diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c
|
||||
index 739765e..cd14999 100644
|
||||
--- a/libgnome/gnome-program.c
|
||||
+++ b/libgnome/gnome-program.c
|
||||
@@ -1878,10 +1878,6 @@ gnome_program_init (const char *app_id, const char *app_version,
|
||||
GnomeProgram *program;
|
||||
va_list args;
|
||||
|
||||
- /* g_thread_init() has to be the first GLib function called ever */
|
||||
- if (!g_threads_got_initialized)
|
||||
- g_thread_init (NULL);
|
||||
-
|
||||
g_type_init ();
|
||||
|
||||
va_start(args, first_property_name);
|
||||
17
pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
Normal file
17
pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomecanvas";
|
||||
version = "2.30.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomecanvas/${lib.versions.majorMinor version}/libgnomecanvas-${version}.tar.bz2";
|
||||
sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = [ libglade ];
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
propagatedBuildInputs = [ libart_lgpl gtk2 ];
|
||||
}
|
||||
14
pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix
Normal file
14
pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, libgnomecanvas, gtkmm2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomecanvasmm";
|
||||
version = "2.26.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomecanvasmm/${lib.versions.majorMinor version}/libgnomecanvasmm-${version}.tar.bz2";
|
||||
sha256 = "996577f97f459a574919e15ba7fee6af8cda38a87a98289e9a4f54752d83e918";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libgnomecanvas gtkmm2 ];
|
||||
}
|
||||
285
pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
Normal file
285
pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
Normal file
|
|
@ -0,0 +1,285 @@
|
|||
From ae783efde4fa69578651994505462f02b8639220 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 7 Aug 2012 06:53:09 -0400
|
||||
Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions
|
||||
|
||||
CUPS 1.6 makes various structures private and introduces these ippGet
|
||||
and ippSet functions for all of the fields in these structures.
|
||||
http://www.cups.org/str.php?L3928
|
||||
|
||||
We define our own accessors when building against CUPS < 1.6.
|
||||
|
||||
Based on work by Jiri Popelka <jpopelka@redhat.com> at
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=679759
|
||||
---
|
||||
libgnomecups/gnome-cups-printer.c | 48 +++++++++++++++++++++++++++++-------
|
||||
libgnomecups/gnome-cups-queue.c | 43 +++++++++++++++++++++++++++------
|
||||
libgnomecups/gnome-cups-request.c | 44 ++++++++++++++++++++++++++++-----
|
||||
3 files changed, 110 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/libgnomecups/gnome-cups-printer.c b/libgnomecups/gnome-cups-printer.c
|
||||
index c924af0..f5e1ef7 100644
|
||||
--- a/libgnomecups/gnome-cups-printer.c
|
||||
+++ b/libgnomecups/gnome-cups-printer.c
|
||||
@@ -37,6 +37,34 @@
|
||||
|
||||
#define UPDATE_TIMEOUT 5000
|
||||
|
||||
+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
|
||||
+#define HAVE_CUPS_1_6 1
|
||||
+#endif
|
||||
+
|
||||
+#ifndef HAVE_CUPS_1_6
|
||||
+#define ippGetCount(attr) attr->num_values
|
||||
+#define ippGetName(attr) attr->name
|
||||
+#define ippGetInteger(attr, element) attr->values[element].integer
|
||||
+#define ippGetString(attr, element, language) attr->values[element].string.text
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippFirstAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->attrs);
|
||||
+}
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippNextAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp || !ipp->current)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->current->next);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
struct _GnomeCupsPPDFile {
|
||||
char name[1];
|
||||
};
|
||||
@@ -173,9 +201,9 @@ map_reasons (GnomeCupsPrinter *printer,
|
||||
printer->details->state_reasons = NULL;
|
||||
|
||||
/* cf. RFC2911 4.4.12 */
|
||||
- for (i = 0; i < attr->num_values; i++) {
|
||||
+ for (i = 0; i < ippGetCount (attr); i++) {
|
||||
const char *p;
|
||||
- const char *keyword = attr->values [i].string.text;
|
||||
+ const char *keyword = ippGetString (attr, i, NULL);
|
||||
|
||||
reason = g_new (GnomeCupsPrinterReason, 1);
|
||||
|
||||
@@ -224,8 +252,8 @@ gnome_cups_printer_get_info (GnomeCupsPrinter *printer)
|
||||
return printer->details->info;
|
||||
}
|
||||
|
||||
-#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if ((v) != attr->values[0].integer) { changed = TRUE; } (v) = attr->values[0].integer; }}
|
||||
-#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if (!v || strcmp (v, attr->values[0].string.text)) { g_free (v); changed = TRUE; (v) = g_strdup (attr->values[0].string.text); }}}
|
||||
+#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if ((v) != ippGetInteger (attr, 0)) { changed = TRUE; } (v) = ippGetInteger (attr, 0); }}
|
||||
+#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if (!v || strcmp (v, ippGetString (attr, 0, NULL))) { g_free (v); changed = TRUE; (v) = g_strdup (ippGetString (attr, 0, NULL)); }}}
|
||||
|
||||
static void
|
||||
attributes_update_cb (guint id,
|
||||
@@ -243,14 +271,14 @@ attributes_update_cb (guint id,
|
||||
changed = FALSE;
|
||||
|
||||
if (!error && response) {
|
||||
- for (attr = response->attrs; attr != NULL; attr = attr->next) {
|
||||
- if (!attr->name) {
|
||||
+ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
|
||||
+ if (!ippGetName (attr)) {
|
||||
continue;
|
||||
}
|
||||
- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !strcmp (attr->name, "attributes-charset")) {
|
||||
+ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !strcmp (ippGetName (attr), "attributes-charset")) {
|
||||
continue;
|
||||
}
|
||||
- if (!g_ascii_strcasecmp (attr->name, "printer-state-reasons")) {
|
||||
+ if (!g_ascii_strcasecmp (ippGetName (attr), "printer-state-reasons")) {
|
||||
map_reasons (printer, attr);
|
||||
}
|
||||
MAP_INT (printer->details->state, "printer-state");
|
||||
@@ -570,7 +598,7 @@ get_default (void)
|
||||
|
||||
attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
|
||||
if (attr) {
|
||||
- name = g_strdup (attr->values[0].string.text);
|
||||
+ name = g_strdup (ippGetString (attr, 0, NULL));
|
||||
} else {
|
||||
name = NULL;
|
||||
}
|
||||
@@ -698,7 +726,7 @@ get_printer_names (void)
|
||||
attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
|
||||
while (attr) {
|
||||
ret = g_list_prepend (ret,
|
||||
- g_strdup (attr->values[0].string.text));
|
||||
+ g_strdup (ippGetString (attr, 0, NULL)));
|
||||
|
||||
attr = ippFindNextAttribute (response,
|
||||
"printer-name",
|
||||
diff --git a/libgnomecups/gnome-cups-queue.c b/libgnomecups/gnome-cups-queue.c
|
||||
index 9f98ed9..298db42 100644
|
||||
--- a/libgnomecups/gnome-cups-queue.c
|
||||
+++ b/libgnomecups/gnome-cups-queue.c
|
||||
@@ -15,6 +15,33 @@
|
||||
|
||||
#define UPDATE_TIMEOUT 3000
|
||||
|
||||
+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
|
||||
+#define HAVE_CUPS_1_6 1
|
||||
+#endif
|
||||
+
|
||||
+#ifndef HAVE_CUPS_1_6
|
||||
+#define ippGetName(attr) attr->name
|
||||
+#define ippGetInteger(attr, element) attr->values[element].integer
|
||||
+#define ippGetString(attr, element, language) attr->values[element].string.text
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippFirstAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->attrs);
|
||||
+}
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippNextAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp || !ipp->current)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->current->next);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
struct _GnomeCupsQueueDetails {
|
||||
char *queue_name;
|
||||
GList *jobs;
|
||||
@@ -199,8 +226,8 @@ finish_job (GnomeCupsJob *job)
|
||||
job->size = job->size * 1024;
|
||||
}
|
||||
|
||||
-#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (attr->values[0].string.text);}}
|
||||
-#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { (dest) = attr->values[0].integer; } }
|
||||
+#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (ippGetString (attr, 0, NULL));}}
|
||||
+#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { (dest) = ippGetInteger (attr, 0); } }
|
||||
|
||||
static void
|
||||
get_jobs_cb (guint id,
|
||||
@@ -231,8 +258,8 @@ get_jobs_cb (guint id,
|
||||
|
||||
if (response) {
|
||||
job = g_new0 (GnomeCupsJob, 1);
|
||||
- for (attr = response->attrs; attr != NULL; attr = attr->next) {
|
||||
- if (attr->name == NULL) {
|
||||
+ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
|
||||
+ if (ippGetName (attr) == NULL) {
|
||||
if (job->name) {
|
||||
finish_job (job);
|
||||
jobs = g_list_prepend (jobs, job);
|
||||
@@ -244,7 +271,7 @@ get_jobs_cb (guint id,
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
|
||||
+ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
|
||||
continue;
|
||||
|
||||
}
|
||||
@@ -355,8 +382,8 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
|
||||
|
||||
if (response) {
|
||||
job = g_new0 (GnomeCupsJob, 1);
|
||||
- for (attr = response->attrs; attr != NULL; attr = attr->next) {
|
||||
- if (attr->name == NULL) {
|
||||
+ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
|
||||
+ if (ippGetName (attr) == NULL) {
|
||||
if (job->name) {
|
||||
finish_job (job);
|
||||
} else {
|
||||
@@ -366,7 +393,7 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
|
||||
break;
|
||||
}
|
||||
|
||||
- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
|
||||
+ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
diff --git a/libgnomecups/gnome-cups-request.c b/libgnomecups/gnome-cups-request.c
|
||||
index c94f623..13f0948 100644
|
||||
--- a/libgnomecups/gnome-cups-request.c
|
||||
+++ b/libgnomecups/gnome-cups-request.c
|
||||
@@ -19,6 +19,36 @@
|
||||
#define STOP_UNUSED_THREADS_TIMEOUT 60
|
||||
#define CLOSE_UNUSED_CONNECTIONS_TIMEOUT 30
|
||||
|
||||
+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
|
||||
+#define HAVE_CUPS_1_6 1
|
||||
+#endif
|
||||
+
|
||||
+#ifndef HAVE_CUPS_1_6
|
||||
+#define ippGetCount(attr) attr->num_values
|
||||
+#define ippGetValueTag(attr) attr->value_tag
|
||||
+#define ippGetName(attr) attr->name
|
||||
+#define ippGetBoolean(attr, element) attr->values[element].boolean
|
||||
+#define ippGetInteger(attr, element) attr->values[element].integer
|
||||
+#define ippGetString(attr, element, language) attr->values[element].string.text
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippFirstAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->attrs);
|
||||
+}
|
||||
+
|
||||
+static ipp_attribute_t *
|
||||
+ippNextAttribute(ipp_t *ipp)
|
||||
+{
|
||||
+ if (!ipp || !ipp->current)
|
||||
+ return (NULL);
|
||||
+ return (ipp->current = ipp->current->next);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
typedef struct
|
||||
{
|
||||
GMutex *mutex;
|
||||
@@ -276,14 +306,14 @@ dump_request (ipp_t const *req)
|
||||
unsigned i;
|
||||
ipp_attribute_t *attr;
|
||||
|
||||
- for (attr = req->attrs; attr != NULL; attr = attr->next) {
|
||||
- g_print ("%s", attr->name);
|
||||
- for (i = 0 ; i < attr->num_values ; i++) {
|
||||
+ for (attr = ippFirstAttribute (req); attr != NULL; attr = ippNextAttribute (req)) {
|
||||
+ g_print ("%s", ippGetName (attr));
|
||||
+ for (i = 0 ; i < ippGetCount (attr) ; i++) {
|
||||
g_print ("\t[%d] = ", i);
|
||||
- switch (attr->value_tag & ~IPP_TAG_COPY) {
|
||||
+ switch (ippGetValueTag (attr) & ~IPP_TAG_COPY) {
|
||||
case IPP_TAG_INTEGER:
|
||||
case IPP_TAG_ENUM:
|
||||
- g_print ("%d\n", attr->values[i].integer);
|
||||
+ g_print ("%d\n", ippGetInteger (attr, i));
|
||||
break;
|
||||
|
||||
case IPP_TAG_STRING:
|
||||
@@ -294,11 +324,11 @@ dump_request (ipp_t const *req)
|
||||
case IPP_TAG_CHARSET:
|
||||
case IPP_TAG_LANGUAGE:
|
||||
case IPP_TAG_MIMETYPE:
|
||||
- g_print ("'%s'\n", attr->values[i].string.text);
|
||||
+ g_print ("'%s'\n", ippGetString (attr, i, NULL));
|
||||
break;
|
||||
|
||||
case IPP_TAG_BOOLEAN:
|
||||
- g_print ("%s\n", (int)attr->values[i].boolean ? "true" : "false");
|
||||
+ g_print ("%s\n", (int)ippGetBoolean (attr, i) ? "true" : "false");
|
||||
break;
|
||||
|
||||
default:
|
||||
--
|
||||
1.7.8.6
|
||||
|
||||
20
pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
Normal file
20
pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2, intltool, libart_lgpl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomecups";
|
||||
version = "0.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomecups/${lib.versions.majorMinor version}/libgnomecups-${version}.tar.bz2";
|
||||
sha256 = "0a8xdaxzz2wc0n1fjcav65093gixzyac3948l8cxx1mk884yhc71";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
patches = [ ./glib.patch ./cups_1.6.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 gettext intltool libart_lgpl ];
|
||||
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
}
|
||||
38
pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch
Normal file
38
pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From d84eee9450b3b6f6155074915efc61bedcc8d446 Mon Sep 17 00:00:00 2001
|
||||
From: Dominique Leuenberger <dimstar@opensuse.org>
|
||||
Date: Sun, 27 Nov 2011 21:36:41 +0100
|
||||
Subject: [PATCH] Fix: Only glib.h can be included
|
||||
|
||||
---
|
||||
libgnomecups/gnome-cups-i18n.c | 2 +-
|
||||
libgnomecups/gnome-cups-init.h | 3 +--
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libgnomecups/gnome-cups-i18n.c b/libgnomecups/gnome-cups-i18n.c
|
||||
index 8987c5c..127756d 100644
|
||||
--- a/libgnomecups/gnome-cups-i18n.c
|
||||
+++ b/libgnomecups/gnome-cups-i18n.c
|
||||
@@ -1,5 +1,5 @@
|
||||
#include <config.h>
|
||||
-#include <glib/gmacros.h>
|
||||
+#include <glib.h>
|
||||
#include "gnome-cups-i18n.h"
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
diff --git a/libgnomecups/gnome-cups-init.h b/libgnomecups/gnome-cups-init.h
|
||||
index 22b682a..c4600fc 100644
|
||||
--- a/libgnomecups/gnome-cups-init.h
|
||||
+++ b/libgnomecups/gnome-cups-init.h
|
||||
@@ -1,8 +1,7 @@
|
||||
#ifndef GNOME_CUPS_INIT
|
||||
#define GNOME_CUPS_INIT
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
-#include <glib/gmacros.h>
|
||||
+#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
--
|
||||
1.7.7
|
||||
|
||||
21
pkgs/desktops/gnome-2/platform/libgnomeprint/bug653388.patch
Normal file
21
pkgs/desktops/gnome-2/platform/libgnomeprint/bug653388.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
From 9b82b7e75b83395e7c5692085e1934202cf7f65f Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Huddleston <jeremyhu@freedesktop.org>
|
||||
Date: Wed, 12 Oct 2011 15:08:59 +0000
|
||||
Subject: Add missing include
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=653388
|
||||
---
|
||||
diff --git a/libgnomeprint/modules/cups/gnome-print-cups-transport.c b/libgnomeprint/modules/cups/gnome-print-cups-transport.c
|
||||
index aeb7111..85de91b 100644
|
||||
--- a/libgnomeprint/modules/cups/gnome-print-cups-transport.c
|
||||
+++ b/libgnomeprint/modules/cups/gnome-print-cups-transport.c
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
+#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
|
||||
--
|
||||
cgit v0.9.0.2
|
||||
30
pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
Normal file
30
pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, gtk2, gettext, libxml2, intltool, libart_lgpl
|
||||
, libgnomecups, bison, flex }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomeprint";
|
||||
version = "2.18.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomeprint/${lib.versions.majorMinor version}/libgnomeprint-${version}.tar.bz2";
|
||||
sha256 = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./bug653388.patch
|
||||
# Fix compatibility with bison 3
|
||||
(fetchpatch {
|
||||
url = "https://github.com/pld-linux/libgnomeprint/raw/54c0f9c3675b86c53f6d77a5bc526ce9ef0e38cd/bison3.patch";
|
||||
sha256 = "1sp04jbv34i1gcwf377hhmwdsmqzig70dd06rjz1isb6zwh4y01l";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 gettext intltool libart_lgpl libgnomecups bison flex ];
|
||||
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
|
||||
meta = with lib; {
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
14
pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
Normal file
14
pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomeprintui";
|
||||
version = "2.18.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomeprintui/${lib.versions.majorMinor version}/libgnomeprintui-${version}.tar.bz2";
|
||||
sha256 = "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome-icon-theme];
|
||||
}
|
||||
29
pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
Normal file
29
pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, xorg, glib, pango
|
||||
, intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool
|
||||
, gnome_vfs, libgnome-keyring, libglade }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnomeui";
|
||||
version = "2.24.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgnomeui/${lib.versions.majorMinor version}/libgnomeui-${version}.tar.bz2";
|
||||
sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "0001-gnome-scores.h-Convert-to-UTF-8.patch";
|
||||
url = "https://gitlab.gnome.org/Archive/libgnomeui/-/commit/30334c28794ef85d8973f4ed0779b5ceed6594f2.diff";
|
||||
sha256 = "1sn8j8dkam14wfkpw8nga3gk63wniff243mzv3jp0fvv52q8sqhk";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
buildInputs =
|
||||
[ xorg.xlibsWrapper libxml2 GConf pango glib libgnome-keyring libglade libtool ];
|
||||
|
||||
propagatedBuildInputs = [ libgnome libbonoboui libgnomecanvas gnome_vfs ];
|
||||
}
|
||||
17
pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix
Normal file
17
pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgtkhtml";
|
||||
version = "2.11.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libgtkhtml/${lib.versions.majorMinor version}/libgtkhtml-${version}.tar.bz2";
|
||||
sha256 = "0msajafd42545dxzyr5zqka990cjrxw2yz09ajv4zs8m1w6pm9rw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 gettext ];
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
}
|
||||
74
pkgs/desktops/gnome/apps/accerciser/default.nix
Normal file
74
pkgs/desktops/gnome/apps/accerciser/default.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ lib
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, gnome
|
||||
, gtk3
|
||||
, wrapGAppsHook
|
||||
, gobject-introspection
|
||||
, itstool
|
||||
, libxml2
|
||||
, python3
|
||||
, at-spi2-core
|
||||
, dbus
|
||||
, gettext
|
||||
, libwnck
|
||||
, adwaita-icon-theme
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "accerciser";
|
||||
version = "3.38.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0fd9vv2abd2if2qj4nlfy7mpd7rc4sx18zhmxd5ijlnfhkpggbp5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
gobject-introspection # For setup hook
|
||||
itstool
|
||||
libxml2
|
||||
pkg-config
|
||||
dbus
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
adwaita-icon-theme
|
||||
at-spi2-core
|
||||
gtk3
|
||||
libwnck
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
ipython
|
||||
pyatspi
|
||||
pycairo
|
||||
pygobject3
|
||||
setuptools
|
||||
xlib
|
||||
];
|
||||
|
||||
# Strict deps breaks accerciser
|
||||
# and https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "accerciser";
|
||||
attrPath = "gnome.accerciser";
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Accerciser";
|
||||
description = "Interactive Python accessibility explorer";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
114
pkgs/desktops/gnome/apps/cheese/default.nix
Normal file
114
pkgs/desktops/gnome/apps/cheese/default.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, gettext
|
||||
, fetchurl
|
||||
, wrapGAppsHook
|
||||
, gnome-video-effects
|
||||
, libcanberra-gtk3
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, glib
|
||||
, clutter-gtk
|
||||
, clutter-gst
|
||||
, gst_all_1
|
||||
, itstool
|
||||
, vala
|
||||
, docbook_xml_dtd_43
|
||||
, docbook-xsl-nons
|
||||
, appstream-glib
|
||||
, libxslt
|
||||
, gtk-doc
|
||||
, adwaita-icon-theme
|
||||
, librsvg
|
||||
, totem
|
||||
, gdk-pixbuf
|
||||
, gnome
|
||||
, gnome-desktop
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, dbus
|
||||
, python3
|
||||
, pipewire
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cheese";
|
||||
version = "41.1";
|
||||
|
||||
outputs = [ "out" "man" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/cheese/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "UilgyihzD/ZkOQcLBEGMngpLtVVg11v+CLIY2ixn5Uc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
docbook_xml_dtd_43
|
||||
docbook-xsl-nons
|
||||
gettext
|
||||
gtk-doc
|
||||
itstool
|
||||
libxml2
|
||||
libxslt # for xsltproc
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
glib # for glib-compile-schemas
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
adwaita-icon-theme
|
||||
clutter-gst
|
||||
clutter-gtk
|
||||
dbus
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gnome-desktop
|
||||
gnome-video-effects
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
gtk3
|
||||
libcanberra-gtk3
|
||||
librsvg
|
||||
pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
# Effects
|
||||
--prefix XDG_DATA_DIRS : "${gnome-video-effects}/share"
|
||||
# vp8enc preset
|
||||
--prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
|
||||
# Thumbnailers
|
||||
--prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
|
||||
--prefix XDG_DATA_DIRS : "${totem}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "cheese";
|
||||
attrPath = "gnome.cheese";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Cheese";
|
||||
description = "Take photos and videos with your webcam, with fun graphical effects";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
93
pkgs/desktops/gnome/apps/file-roller/default.nix
Normal file
93
pkgs/desktops/gnome/apps/file-roller/default.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, glibcLocales
|
||||
, itstool
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, wrapGAppsHook
|
||||
, cpio
|
||||
, file
|
||||
, glib
|
||||
, gnome
|
||||
, gtk3
|
||||
, libhandy
|
||||
, json-glib
|
||||
, libarchive
|
||||
, libnotify
|
||||
, nautilus
|
||||
, unzip
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "file-roller";
|
||||
version = "3.42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "HEOObVPsEP9PLrWyLXu/KKfCqElXq2SnUcHN88UjAsc=";
|
||||
};
|
||||
|
||||
LANG = "en_US.UTF-8"; # postinstall.py
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
glibcLocales
|
||||
itstool
|
||||
libxml2
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cpio
|
||||
file
|
||||
glib
|
||||
gnome.adwaita-icon-theme
|
||||
gtk3
|
||||
libhandy
|
||||
json-glib
|
||||
libarchive
|
||||
libnotify
|
||||
nautilus
|
||||
];
|
||||
|
||||
PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
|
||||
|
||||
postPatch = ''
|
||||
chmod +x postinstall.py # patchShebangs requires executable file
|
||||
patchShebangs postinstall.py
|
||||
patchShebangs data/set-mime-type-entry.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# Workaround because of https://gitlab.gnome.org/GNOME/file-roller/issues/40
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : ${lib.makeBinPath [ unzip ]}
|
||||
)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "file-roller";
|
||||
attrPath = "gnome.file-roller";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/FileRoller";
|
||||
description = "Archive manager for the GNOME desktop environment";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.gnome.members ++ teams.pantheon.members;
|
||||
};
|
||||
}
|
||||
13
pkgs/desktops/gnome/apps/gedit/correct-gir-lib-path.patch
Normal file
13
pkgs/desktops/gnome/apps/gedit/correct-gir-lib-path.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/gedit/meson.build b/gedit/meson.build
|
||||
index a8683e61a..fc48669f7 100644
|
||||
--- a/gedit/meson.build
|
||||
+++ b/gedit/meson.build
|
||||
@@ -191,7 +191,7 @@ libgedit_shared_lib = shared_library(
|
||||
c_args: libgedit_c_args,
|
||||
link_args: libgedit_link_args,
|
||||
install: true,
|
||||
- install_dir: get_option('libdir') / 'gedit',
|
||||
+ install_dir: get_option('prefix') / get_option('libdir') / 'gedit',
|
||||
)
|
||||
|
||||
# GObject Introspection
|
||||
91
pkgs/desktops/gnome/apps/gedit/default.nix
Normal file
91
pkgs/desktops/gnome/apps/gedit/default.nix
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, meson
|
||||
, fetchurl
|
||||
, python3
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, gtk-mac-integration
|
||||
, glib
|
||||
, adwaita-icon-theme
|
||||
, libpeas
|
||||
, libxml2
|
||||
, gtksourceview4
|
||||
, gsettings-desktop-schemas
|
||||
, wrapGAppsHook
|
||||
, ninja
|
||||
, libsoup
|
||||
, gnome
|
||||
, gspell
|
||||
, perl
|
||||
, itstool
|
||||
, desktop-file-utils
|
||||
, vala
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gedit";
|
||||
version = "42.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gedit/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "fx/UPfURDUw33mVBmT9B8PvD78eQkA6SBTR5ugaZIOk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# We patch gobject-introspection and meson to store absolute paths to libraries in typelibs
|
||||
# but that requires the install_dir is an absolute path.
|
||||
./correct-gir-lib-path.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
itstool
|
||||
libxml2
|
||||
meson
|
||||
ninja
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
adwaita-icon-theme
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gspell
|
||||
gtk3
|
||||
gtksourceview4
|
||||
libpeas
|
||||
libsoup
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
gtk-mac-integration
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/meson/post_install.py
|
||||
chmod +x plugins/externaltools/scripts/gedit-tool-merge.pl
|
||||
patchShebangs build-aux/meson/post_install.py
|
||||
patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl
|
||||
'';
|
||||
|
||||
# Reliably fails to generate gedit-file-browser-enum-types.h in time
|
||||
enableParallelBuilding = false;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gedit";
|
||||
attrPath = "gnome.gedit";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Gedit";
|
||||
description = "Official text editor of the GNOME desktop environment";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
81
pkgs/desktops/gnome/apps/ghex/default.nix
Normal file
81
pkgs/desktops/gnome/apps/ghex/default.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, gi-docgen
|
||||
, meson
|
||||
, ninja
|
||||
, gnome
|
||||
, desktop-file-utils
|
||||
, appstream-glib
|
||||
, gettext
|
||||
, itstool
|
||||
, libxml2
|
||||
, gtk4
|
||||
, glib
|
||||
, atk
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghex";
|
||||
version = "42.2";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/ghex/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "Rd6Oa4ofMd5amRC+GMB/CaMo2HU434BAOuxa+IF8ljE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
itstool
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gi-docgen
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
atk
|
||||
glib
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dgtk_doc=true"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# mremap does not exist on darwin
|
||||
"-Dmmap-buffer-backend=false"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||
moveToOutput "share/doc" "$devdoc"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "ghex";
|
||||
attrPath = "gnome.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Ghex";
|
||||
description = "Hex editor for GNOME desktop environment";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
}
|
||||
97
pkgs/desktops/gnome/apps/gnome-books/default.nix
Normal file
97
pkgs/desktops/gnome/apps/gnome-books/default.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, evince
|
||||
, gjs
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, glib
|
||||
, tracker
|
||||
, tracker-miners
|
||||
, libxslt
|
||||
, webkitgtk
|
||||
, gnome-desktop
|
||||
, libgepub
|
||||
, gnome
|
||||
, gdk-pixbuf
|
||||
, gsettings-desktop-schemas
|
||||
, adwaita-icon-theme
|
||||
, docbook-xsl-nons
|
||||
, docbook_xml_dtd_42
|
||||
, desktop-file-utils
|
||||
, python3
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-books";
|
||||
version = "40.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with meson 0.61
|
||||
# https://gitlab.gnome.org/GNOME/gnome-books/-/merge_requests/62
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-books/-/commit/2663dcdaaaa71f067a4c2d0005eecc0fdf940bf5.patch";
|
||||
sha256 = "v2mLzrxSWrkJ0N6seR8jNXX14FsneEPuE9ELLVUe6+E=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
libxslt
|
||||
desktop-file-utils
|
||||
docbook-xsl-nons
|
||||
docbook_xml_dtd_42
|
||||
wrapGAppsHook
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gdk-pixbuf
|
||||
adwaita-icon-theme
|
||||
evince
|
||||
webkitgtk
|
||||
gjs
|
||||
gobject-introspection
|
||||
tracker
|
||||
tracker-miners
|
||||
gnome-desktop
|
||||
libgepub
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gnome-books";
|
||||
attrPath = "gnome.gnome-books";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Books";
|
||||
description = "An e-book manager application for GNOME";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
154
pkgs/desktops/gnome/apps/gnome-boxes/default.nix
Normal file
154
pkgs/desktops/gnome/apps/gnome-boxes/default.nix
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, wrapGAppsHook
|
||||
, pkg-config
|
||||
, gettext
|
||||
, itstool
|
||||
, libvirt-glib
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, libxml2
|
||||
, gtk3
|
||||
, gtksourceview4
|
||||
, gtk-vnc
|
||||
, freerdp
|
||||
, libvirt
|
||||
, spice-gtk
|
||||
, python3
|
||||
, appstream-glib
|
||||
, spice-protocol
|
||||
, libhandy
|
||||
, libsoup
|
||||
, libosinfo
|
||||
, systemd
|
||||
, tracker
|
||||
, tracker-miners
|
||||
, vala
|
||||
, libcap
|
||||
, yajl
|
||||
, gmp
|
||||
, gdbm
|
||||
, cyrus_sasl
|
||||
, gnome
|
||||
, librsvg
|
||||
, desktop-file-utils
|
||||
, mtools
|
||||
, cdrkit
|
||||
, libcdio
|
||||
, libusb1
|
||||
, libarchive
|
||||
, acl
|
||||
, libgudev
|
||||
, libsecret
|
||||
, libcap_ng
|
||||
, numactl
|
||||
, libapparmor
|
||||
, json-glib
|
||||
, webkitgtk
|
||||
, vte
|
||||
, glib-networking
|
||||
, qemu-utils
|
||||
, qemu
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-boxes";
|
||||
version = "42.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "lvXQEbdQjbVhvw0WbA6p6LEhgFxA5dnzYRkkXBUXIIA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix path to libgovf-0.1.so (and libgtk-frdp-0.1.so when enabling rdp meson option)
|
||||
# in the gir file. We patch gobject-introspection to hardcode absolute paths but
|
||||
# our Meson patch will only pass the info when install_dir is absolute as well.
|
||||
./fix-gir-lib-path.patch
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib # for appstream-util
|
||||
desktop-file-utils
|
||||
gettext
|
||||
gobject-introspection
|
||||
itstool
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
# Required for USB redirection PolicyKit rules file
|
||||
propagatedUserEnvPkgs = [
|
||||
spice-gtk
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
acl
|
||||
cyrus_sasl
|
||||
freerdp
|
||||
gdbm
|
||||
glib
|
||||
glib-networking
|
||||
gmp
|
||||
gnome.adwaita-icon-theme
|
||||
gtk-vnc
|
||||
gtk3
|
||||
gtksourceview4
|
||||
json-glib
|
||||
libapparmor
|
||||
libarchive
|
||||
libcap
|
||||
libcap_ng
|
||||
libgudev
|
||||
libhandy
|
||||
libosinfo
|
||||
librsvg
|
||||
libsecret
|
||||
libsoup
|
||||
libusb1
|
||||
libvirt
|
||||
libvirt-glib
|
||||
libxml2
|
||||
numactl
|
||||
spice-gtk
|
||||
spice-protocol
|
||||
systemd
|
||||
tracker
|
||||
tracker-miners
|
||||
vte
|
||||
webkitgtk
|
||||
yajl
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ mtools cdrkit libcdio qemu-utils qemu ]}")
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/post_install.py # patchShebangs requires executable file
|
||||
patchShebangs build-aux/post_install.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple GNOME 3 application to access remote or virtual systems";
|
||||
homepage = "https://wiki.gnome.org/Apps/Boxes";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
}
|
||||
22
pkgs/desktops/gnome/apps/gnome-boxes/fix-gir-lib-path.patch
Normal file
22
pkgs/desktops/gnome/apps/gnome-boxes/fix-gir-lib-path.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
--- a/subprojects/libovf-glib/govf/meson.build
|
||||
+++ b/subprojects/libovf-glib/govf/meson.build
|
||||
@@ -39,7 +39,7 @@ govf_lib = shared_library('govf-' + api_version,
|
||||
govf_sources,
|
||||
dependencies: govf_deps,
|
||||
install: true,
|
||||
- install_dir: libdir
|
||||
+ install_dir: get_option ('prefix') / libdir
|
||||
)
|
||||
|
||||
govf_dep = declare_dependency(
|
||||
--- a/subprojects/gtk-frdp/src/meson.build
|
||||
+++ b/subprojects/gtk-frdp/src/meson.build
|
||||
@@ -50,7 +50,7 @@ gtk_frdp_lib = shared_library('gtk-frdp-' + api_version,
|
||||
gtk_frdp_sources,
|
||||
dependencies: gtk_frdp_deps,
|
||||
install: true,
|
||||
- install_dir: libdir
|
||||
+ install_dir: get_option ('prefix') / libdir
|
||||
)
|
||||
|
||||
gtk_frdp_dep = declare_dependency(
|
||||
68
pkgs/desktops/gnome/apps/gnome-calendar/default.nix
Normal file
68
pkgs/desktops/gnome/apps/gnome-calendar/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook4
|
||||
, libgweather
|
||||
, geoclue2
|
||||
, geocode-glib
|
||||
, gettext
|
||||
, libxml2
|
||||
, gnome
|
||||
, gtk4
|
||||
, evolution-data-server
|
||||
, libical
|
||||
, libsoup
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, libadwaita
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-calendar";
|
||||
version = "42.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0SKBy78a+GxyN1/mrZNG7Q4sLziKHq6FjOzmQGCm66g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
libxml2
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
evolution-data-server # waiting for GTK4 port
|
||||
libical
|
||||
libsoup
|
||||
glib
|
||||
libgweather
|
||||
geoclue2
|
||||
geocode-glib
|
||||
gsettings-desktop-schemas
|
||||
libadwaita
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Calendar";
|
||||
description = "Simple and beautiful calendar application for GNOME";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
88
pkgs/desktops/gnome/apps/gnome-characters/default.nix
Normal file
88
pkgs/desktops/gnome/apps/gnome-characters/default.nix
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gettext
|
||||
, gnome
|
||||
, glib
|
||||
, gtk4
|
||||
, pango
|
||||
, wrapGAppsHook4
|
||||
, python3
|
||||
, desktop-file-utils
|
||||
, gobject-introspection
|
||||
, gjs
|
||||
, libunistring
|
||||
, libadwaita
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-desktop
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-characters";
|
||||
version = "42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "XaD/uBb4prRPMDdEyoJ6NAgBGMHJONjXmvF7f+Z5gPg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
desktop-file-utils
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
|
||||
buildInputs = [
|
||||
gjs
|
||||
glib
|
||||
gnome-desktop # for typelib
|
||||
gsettings-desktop-schemas
|
||||
gtk4
|
||||
libunistring
|
||||
libadwaita
|
||||
pango
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||
patchShebangs meson_post_install.py
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/gnome-characters/-/merge_requests/70
|
||||
substituteInPlace meson_post_install.py \
|
||||
--replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
postFixup = ''
|
||||
# Fixes https://github.com/NixOS/nixpkgs/issues/31168
|
||||
file="$out/share/org.gnome.Characters/org.gnome.Characters"
|
||||
sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
|
||||
-i $file
|
||||
wrapGApp "$file"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Characters";
|
||||
description = "Simple utility application to find and insert unusual characters";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
86
pkgs/desktops/gnome/apps/gnome-clocks/default.nix
Normal file
86
pkgs/desktops/gnome/apps/gnome-clocks/default.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, itstool
|
||||
, desktop-file-utils
|
||||
, vala_0_56
|
||||
, gobject-introspection
|
||||
, libxml2
|
||||
, gtk4
|
||||
, glib
|
||||
, gsound
|
||||
, sound-theme-freedesktop
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-desktop
|
||||
, geocode-glib
|
||||
, gnome
|
||||
, gdk-pixbuf
|
||||
, geoclue2
|
||||
, libgweather
|
||||
, libadwaita
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-clocks";
|
||||
version = "42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "DnEY20oDLjzqMhLZjLuCjWt88i/gXgxfyLORxqPdb+A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
vala_0_56
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
itstool
|
||||
wrapGAppsHook
|
||||
desktop-file-utils
|
||||
libxml2
|
||||
gobject-introspection # for finding vapi files
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gdk-pixbuf
|
||||
gnome-desktop
|
||||
geocode-glib
|
||||
geoclue2
|
||||
libgweather
|
||||
gsound
|
||||
libadwaita
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
# Fallback sound theme
|
||||
--prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gnome-clocks";
|
||||
attrPath = "gnome.gnome-clocks";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Clocks";
|
||||
description = "Clock application designed for GNOME 3";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
75
pkgs/desktops/gnome/apps/gnome-connections/default.nix
Normal file
75
pkgs/desktops/gnome/apps/gnome-connections/default.nix
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, vala_0_56
|
||||
, gettext
|
||||
, itstool
|
||||
, python3
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, gtk3
|
||||
, libhandy
|
||||
, libsecret
|
||||
, libxml2
|
||||
, gtk-vnc
|
||||
, gtk-frdp
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-connections";
|
||||
version = "42.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-2ObnJ0EJHYkt/IQoH2JVUdBWjNSC1I21ik7bivoTd7Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
vala_0_56
|
||||
gettext
|
||||
itstool
|
||||
python3
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
glib # glib-compile-resources
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk-vnc
|
||||
gtk3
|
||||
libhandy
|
||||
libsecret
|
||||
libxml2
|
||||
gtk-frdp
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/meson/postinstall.py
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/GNOME/connections";
|
||||
description = "A remote desktop client for the GNOME desktop environment";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
127
pkgs/desktops/gnome/apps/gnome-documents/default.nix
Normal file
127
pkgs/desktops/gnome/apps/gnome-documents/default.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
{ lib, stdenv
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, evince
|
||||
, gjs
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, glib
|
||||
, tracker
|
||||
, tracker-miners
|
||||
, itstool
|
||||
, libxslt
|
||||
, webkitgtk
|
||||
, libgdata
|
||||
, gnome-desktop
|
||||
, libzapojit
|
||||
, libgepub
|
||||
, gnome
|
||||
, gdk-pixbuf
|
||||
, libsoup
|
||||
, docbook_xsl
|
||||
, docbook_xml_dtd_42
|
||||
, gobject-introspection
|
||||
, inkscape
|
||||
, poppler_utils
|
||||
, desktop-file-utils
|
||||
, wrapGAppsHook
|
||||
, python3
|
||||
, appstream-glib
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-documents";
|
||||
version = "3.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-documents/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix inkscape 1.0 usage
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/0f55a18c40a61e6ae4ec4652604775f139892350.diff";
|
||||
sha256 = "1yrisq69dl1dn7639drlbza20a5ic6xg04ksr9iq4sxdx3xj3d8s";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
itstool
|
||||
libxslt
|
||||
desktop-file-utils
|
||||
docbook_xsl
|
||||
docbook_xml_dtd_42
|
||||
wrapGAppsHook
|
||||
python3
|
||||
appstream-glib
|
||||
|
||||
# building getting started
|
||||
inkscape
|
||||
poppler_utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gdk-pixbuf
|
||||
gnome.adwaita-icon-theme
|
||||
evince
|
||||
libsoup
|
||||
webkitgtk
|
||||
gjs
|
||||
gobject-introspection
|
||||
tracker
|
||||
tracker-miners
|
||||
libgdata
|
||||
gnome-desktop
|
||||
libzapojit
|
||||
libgepub
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
mesonFlags = [
|
||||
"-Dgetting_started=true"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication"
|
||||
'';
|
||||
|
||||
preConfigure =
|
||||
# To silence inkscape warnings regarding profile directory
|
||||
''
|
||||
export INKSCAPE_PROFILE_DIR="$(mktemp -d)"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
broken = true; # Tracker 3 not supported and it cannot start Tracker 2.
|
||||
homepage = "https://wiki.gnome.org/Apps/Documents";
|
||||
description = "Document manager application designed to work with GNOME 3";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue