...
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
sessionCommands = ''
|
sessionCommands = ''
|
||||||
xmobar ${self}/misc/xmobar.hs &
|
xmobar ${self}/misc/xmobar.hs &
|
||||||
|
|
||||||
# aparently needed, so that xmonad works
|
# the sleep is aparently needed, so that xmonad is already fully started up??
|
||||||
sleep 2 && \
|
sleep 2 && \
|
||||||
${pkgs.xorg.xmodmap}/bin/xmodmap \
|
${pkgs.xorg.xmodmap}/bin/xmodmap \
|
||||||
-e "clear control" \
|
-e "clear control" \
|
||||||
@@ -66,7 +66,6 @@
|
|||||||
# Enable sound.
|
# Enable sound.
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
|||||||
32
flake.nix
32
flake.nix
@@ -72,16 +72,26 @@
|
|||||||
workDir = "/home/me/work";
|
workDir = "/home/me/work";
|
||||||
secretsDir = "/home/me/work/here/secrets";
|
secretsDir = "/home/me/work/here/secrets";
|
||||||
persistentDir = "/home/me/work/app-data";
|
persistentDir = "/home/me/work/app-data";
|
||||||
specialArgs = {
|
|
||||||
inherit inputs confDir workDir secretsDir persistentDir self;
|
mypkgs = import nixpkgs {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
"electron-24.8.6"
|
"electron-24.8.6"
|
||||||
"electron-25.9.0"
|
"electron-25.9.0"
|
||||||
];
|
];
|
||||||
}; };
|
};
|
||||||
|
overlays = [
|
||||||
|
( import ./mods/my-nixpkgs-overlay.nix { inherit nixpkgs; } )
|
||||||
|
( import ./mods/second-overlay.nix { inherit nixpkgs; } )
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs confDir workDir secretsDir persistentDir self;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = mypkgs;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -100,7 +110,7 @@
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/hpm.nix
|
./hosts/hpm.nix
|
||||||
./hardware/hpm-laptop.nix
|
#./hardware/hpm-laptop.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -311,6 +321,15 @@
|
|||||||
lush = self.nixosConfigurations.lush.config.system.build.sdImage;
|
lush = self.nixosConfigurations.lush.config.system.build.sdImage;
|
||||||
rpi = self.nixosConfigurations.rpi.config.system.build.sdImage;
|
rpi = self.nixosConfigurations.rpi.config.system.build.sdImage;
|
||||||
|
|
||||||
|
hec-img = nixos-generators.nixosGenerate {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/hpm.nix
|
||||||
|
];
|
||||||
|
format = "raw";
|
||||||
|
inherit specialArgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
prootTermux = inputs.nix-on-droid.outputs.packages.x86_64-linux.prootTermux;
|
prootTermux = inputs.nix-on-droid.outputs.packages.x86_64-linux.prootTermux;
|
||||||
docker = let pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; in pkgs.dockerTools.buildImage {
|
docker = let pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs; in pkgs.dockerTools.buildImage {
|
||||||
@@ -336,5 +355,8 @@
|
|||||||
program = "${self.packages.x86_64-linux.run-vm}/bin/run-vm";
|
program = "${self.packages.x86_64-linux.run-vm}/bin/run-vm";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pkgs = mypkgs;
|
||||||
|
home.me = import ./users/me/gui-home.nix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ inputs, pkgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
#"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-x86_64.nix"
|
||||||
../common/all.nix
|
../common/all.nix
|
||||||
../common/nixos.nix
|
../common/nixos.nix
|
||||||
../common/nixos-graphical.nix
|
../common/nixos-graphical.nix
|
||||||
|
../mods/hec-server.nix
|
||||||
../common/building.nix
|
../common/building.nix
|
||||||
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
@@ -19,6 +21,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
|
||||||
# to build rpi images
|
# to build rpi images
|
||||||
boot.binfmt.emulatedSystems = [
|
boot.binfmt.emulatedSystems = [
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
../common/all.nix
|
../common/all.nix
|
||||||
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
#../users/me/headless.nix
|
../users/me/headless.nix
|
||||||
|
|
||||||
##### project modules
|
##### project modules #####
|
||||||
|
|
||||||
# the module for the zwave setup
|
# the module for the zwave setup
|
||||||
#"${workDir}/htl/labor/hackl/zwave.nix"
|
#"${workDir}/htl/labor/hackl/zwave.nix"
|
||||||
|
|||||||
@@ -266,7 +266,7 @@
|
|||||||
|
|
||||||
############################## files backup ##################################
|
############################## files backup ##################################
|
||||||
# needs that
|
# needs that
|
||||||
programs.fuse.userAllowOther = true;
|
programs.fuse.userAllowOther = true; # otherwise the root user has no acces to the mount
|
||||||
systemd.services.rclone-mount-backup = {
|
systemd.services.rclone-mount-backup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Mount rclone backup folder";
|
description = "Mount rclone backup folder";
|
||||||
|
|||||||
@@ -3,3 +3,5 @@
|
|||||||
192.168.122.56 uwu
|
192.168.122.56 uwu
|
||||||
::1 www.youtube.com
|
::1 www.youtube.com
|
||||||
::1 youtube.com
|
::1 youtube.com
|
||||||
|
::1 localhost
|
||||||
|
127.0.0.1 localhost
|
||||||
|
|||||||
38
mods/hec-server.nix
Normal file
38
mods/hec-server.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{ workDir, pkgs, ... } : {
|
||||||
|
|
||||||
|
|
||||||
|
############################### desktop ###############################
|
||||||
|
/*
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
tightvnc
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable sound.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
*/
|
||||||
|
|
||||||
|
############################# kilian #############################
|
||||||
|
users.users.me.openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/yBJcfkHRF5HScWLuaE+jKQQ2BczpKKpHihgc5JmxB kilian@idk"
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.kilian.openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/yBJcfkHRF5HScWLuaE+jKQQ2BczpKKpHihgc5JmxB kilian@idk"
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.kilian = {
|
||||||
|
isNormalUser = true;
|
||||||
|
#passwordFile = "${secretsDir}/me-pwd";
|
||||||
|
password = "hi";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "libvirtd" ]; # Enable ‘sudo’ for the user.
|
||||||
|
};
|
||||||
|
programs.bash.shellInit = builtins.readFile "${workDir}/config/gitignore/killian_bashrc";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
|
|
||||||
{ pkgs, inputs, ... }:
|
{ nixpkgs, ... }: final: prev: {
|
||||||
{
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
#{
|
#{
|
||||||
#localPacketTracer8 = (pkgs.callPackage ../../prebuilt/packetTracer/default.nix {confDir = confDir;});
|
#localPacketTracer8 = (pkgs.callPackage ../../prebuilt/packetTracer/default.nix {confDir = confDir;});
|
||||||
#xdg-desktop-portal-termfilechooser = (pkgs.callPackage ../../mods/xdg-desktop-portal-termfilechooser/default.nix {});
|
#xdg-desktop-portal-termfilechooser = (pkgs.callPackage ../../mods/xdg-desktop-portal-termfilechooser/default.nix {});
|
||||||
@@ -10,5 +8,108 @@
|
|||||||
#{
|
#{
|
||||||
#supabase-cli = pkgs.callPackage ./supabase.nix;
|
#supabase-cli = pkgs.callPackage ./supabase.nix;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
# for static builds
|
||||||
|
duktape = prev.duktape.overrideAttrs (innerFinal: innerPrev: {
|
||||||
|
patches = innerPrev.patches or [] ++ [
|
||||||
|
./static/duktape.patch
|
||||||
];
|
];
|
||||||
|
#unpackPhase = "echo hiiiiiiiiiiiiiiiiiiiiiiiiiii";
|
||||||
|
#buildPhase = "echo hiiiiiiiiiiiiiiiiiiiiiiiiii";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make -f dist-files/Makefile.staticlibrary
|
||||||
|
make -f Makefile.cmdline
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/bin
|
||||||
|
install -m755 duk $out/bin/
|
||||||
|
install -d $out/lib/pkgconfig
|
||||||
|
install -d $out/include
|
||||||
|
make -f dist-files/Makefile.staticlibrary install INSTALL_PREFIX=$out
|
||||||
|
substituteAll ${nixpkgs}/pkgs/development/interpreters/duktape/duktape.pc.in $out/lib/pkgconfig/duktape.pc
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
dconf = prev.dconf.overrideAttrs (innerFinal: innerPrev: {
|
||||||
|
patches = innerPrev.patches or [] ++ [
|
||||||
|
./static/dconf.patch
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
at-spi2-core = prev.at-spi2-core.overrideAttrs (innerFinal: innerPrev: {
|
||||||
|
mesonFlags = innerPrev.mesonFlags or [] ++ [
|
||||||
|
"-Dintrospection=disabled"
|
||||||
|
"-Ddbus_broker=default"
|
||||||
|
"-Dgtk2_atk_adaptor=false"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
cdparanoia = prev.cdparanoia.overrideAttrs (innerFinal: innerPrev: {
|
||||||
|
patches = innerPrev.patches or [] ++ [
|
||||||
|
./static/cdparanoia.patch
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
# this is a mess....
|
||||||
|
#pkgsStatic = prev.pkgsStatic // {gobject-introspection = prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; };};
|
||||||
|
#gobject-introspection = prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; };
|
||||||
|
#buildPackges = prev.buildPackges // {gobject-introspection = prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; };};
|
||||||
|
# .... gobject-introspection is just not made for dyn linking
|
||||||
|
|
||||||
|
python311Packages = prev.python311Packages // { lxml = prev.python311Packages.lxml.overrideAttrs (innerFinal: innerPrev:
|
||||||
|
let
|
||||||
|
libxmlSrc = prev.fetchurl {
|
||||||
|
url = "mirror://gnome/sources/libxml2/${prev.lib.versions.majorMinor "2.12.4"}/libxml2-2.12.4.tar.xz";
|
||||||
|
sha256 = "sha256-SXNg5CPPC9merNt8YhXeqS5tbonulAOTwrrg53y5t9A=";
|
||||||
|
};
|
||||||
|
zlibSrc = let version = "1.3.1"; in prev.fetchurl {
|
||||||
|
urls = [
|
||||||
|
# This URL works for 1.2.13 only; hopefully also for future releases.
|
||||||
|
"https://github.com/madler/zlib/releases/download/v${version}/zlib-${version}.tar.gz"
|
||||||
|
# Stable archive path, but captcha can be encountered, causing hash mismatch.
|
||||||
|
"https://www.zlib.net/fossils/zlib-${version}.tar.gz"
|
||||||
|
];
|
||||||
|
hash = "sha256-mpOyt9/ax3zrpaVYpYDnRmfdb+3kWFuR7vtg8Dty3yM=";
|
||||||
|
};
|
||||||
|
libiconvSrc = prev.fetchurl {
|
||||||
|
url = "https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz";
|
||||||
|
hash = "sha256-j3QhO1YjjIWlClMp934GGYdx5w3Zpzl3n0wC9l2XExM=";
|
||||||
|
};
|
||||||
|
libxsltSrc = let version = "1.1.37"; pname = "libxslt"; in prev.fetchurl {
|
||||||
|
url = "mirror://gnome/sources/${pname}/${prev.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "Oksn3IAnzNYUZyWVAzbx7FIJKPMg8UTrX6eZCuYSOrQ=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
setupPyBuildFlags = [
|
||||||
|
"--libxml2-version=2.12.4"
|
||||||
|
"--libxslt-version=1.1.37"
|
||||||
|
"--zlib-version=1.3.1"
|
||||||
|
"--libiconv-version=1.17"
|
||||||
|
"--without-cython"
|
||||||
|
];
|
||||||
|
patches = [
|
||||||
|
./static/python311Packages-lxml.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
STATICBUILD = true;
|
||||||
|
preConfigure = ''
|
||||||
|
mkdir -p ./libs
|
||||||
|
cp ${zlibSrc} ./libs/${zlibSrc.name}
|
||||||
|
cp ${libiconvSrc} ./libs/${libiconvSrc.name}
|
||||||
|
cp ${libxmlSrc} ./libs/${libxmlSrc.name}
|
||||||
|
cp ${libxsltSrc} ./libs/${libxsltSrc.name}
|
||||||
|
|
||||||
|
ls ./libs
|
||||||
|
'';
|
||||||
|
#cat ${libxsltSrc} | xz -d | gzip > ./libs/${libxsltSrc.name}
|
||||||
|
#cat ${libxmlSrc} | xz -d | gzip > ./libs/${libxmlSrc.name}
|
||||||
|
#mv ./libs/libxslt-1.1.37.tar.xz ./libs/libxslt-1.1.37.tar.gz
|
||||||
|
#mv ./libs/libxml2-2.10.4.tar.xz ./libs/libxml2-2.10.4.tar.gz
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
27
mods/second-overlay.nix
Normal file
27
mods/second-overlay.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
{ nixpkgs, ... }: final: prev: {
|
||||||
|
#at-spi2-core = prev.at-spi2-core.override {
|
||||||
|
#withIntrospection = false;
|
||||||
|
#};
|
||||||
|
|
||||||
|
/*
|
||||||
|
gsettings-desktop-schemas = prev.gsettings-desktop-schemas.override {
|
||||||
|
withIntrospection = true;
|
||||||
|
#gobject-introspection = prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; };
|
||||||
|
gobject-introspection = prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; };
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
gsettings-desktop-schemas = prev.gsettings-desktop-schemas.overrideAttrs (innerFinal: innerPrev: {
|
||||||
|
nativeBuildInputs = with prev; [
|
||||||
|
glib
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
gobject-introspection
|
||||||
|
(prev.callPackage ./static/gobject-introspection.nix { inherit nixpkgs; })
|
||||||
|
];
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
}
|
||||||
60
mods/static/cdparanoia.patch
Normal file
60
mods/static/cdparanoia.patch
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index 3d235ad..1cd36ea 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -27,7 +27,7 @@ PWD = $(shell pwd)
|
||||||
|
|
||||||
|
OFILES = main.o report.o header.o buffering_write.o cachetest.o
|
||||||
|
|
||||||
|
-export STATIC
|
||||||
|
+export STATIC = TRUE
|
||||||
|
export VERSION
|
||||||
|
|
||||||
|
ifeq ($(STATIC),TRUE)
|
||||||
|
@@ -71,20 +71,10 @@ install:
|
||||||
|
$(INSTALL) -d -m 0755 $(INCLUDEDIR)
|
||||||
|
$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(INCLUDEDIR)
|
||||||
|
$(INSTALL) -d -m 0755 $(LIBDIR)
|
||||||
|
- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(LIBDIR)
|
||||||
|
$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(LIBDIR)
|
||||||
|
$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(INCLUDEDIR)
|
||||||
|
- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(LIBDIR)
|
||||||
|
$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(LIBDIR)
|
||||||
|
$(INSTALL) -m 0644 $(srcdir)/utils.h $(INCLUDEDIR)
|
||||||
|
- ln -fs libcdda_interface.so.0.$(VERSION) \
|
||||||
|
- $(LIBDIR)/libcdda_interface.so.0
|
||||||
|
- ln -fs libcdda_interface.so.0.$(VERSION) \
|
||||||
|
- $(LIBDIR)/libcdda_interface.so
|
||||||
|
- ln -fs libcdda_paranoia.so.0.$(VERSION) \
|
||||||
|
- $(LIBDIR)/libcdda_paranoia.so.0
|
||||||
|
- ln -fs libcdda_paranoia.so.0.$(VERSION) \
|
||||||
|
- $(LIBDIR)/libcdda_paranoia.so
|
||||||
|
|
||||||
|
cdparanoia: $(OFILES) $(LIBDEP)
|
||||||
|
$(LD) $(CFLAGS) $(LDFLAGS) $(OFILES) \
|
||||||
|
diff --git a/interface/Makefile.in b/interface/Makefile.in
|
||||||
|
index 40c6098..ac430ac 100644
|
||||||
|
--- a/interface/Makefile.in
|
||||||
|
+++ b/interface/Makefile.in
|
||||||
|
@@ -23,7 +23,7 @@ OFILES = scan_devices.o common_interface.o cooked_interface.o interface.o\
|
||||||
|
|
||||||
|
export VERSION
|
||||||
|
|
||||||
|
-all: lib slib
|
||||||
|
+all: lib
|
||||||
|
|
||||||
|
debug:
|
||||||
|
$(MAKE) libcdda_interface.a CFLAGS="$(DEBUG)"
|
||||||
|
diff --git a/paranoia/Makefile.in b/paranoia/Makefile.in
|
||||||
|
index 89d0328..7bb7c16 100644
|
||||||
|
--- a/paranoia/Makefile.in
|
||||||
|
+++ b/paranoia/Makefile.in
|
||||||
|
@@ -24,7 +24,7 @@ OFILES = paranoia.o p_block.o overlap.o gap.o isort.o
|
||||||
|
LIBS = ../interface/libcdda_interface.a -lm
|
||||||
|
export VERSION
|
||||||
|
|
||||||
|
-all: lib slib
|
||||||
|
+all: lib
|
||||||
|
|
||||||
|
debug:
|
||||||
|
$(MAKE) libcdda_paranoia.a CFLAGS="$(DEBUG)"
|
||||||
68
mods/static/dconf.patch
Normal file
68
mods/static/dconf.patch
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
diff --git a/client/meson.build b/client/meson.build
|
||||||
|
index 0308dc2..1f80046 100644
|
||||||
|
--- a/client/meson.build
|
||||||
|
+++ b/client/meson.build
|
||||||
|
@@ -35,11 +35,11 @@ client_deps = [
|
||||||
|
symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
|
||||||
|
ldflags = cc.get_supported_link_arguments('-Wl,--version-script,@0@'.format(symbol_map))
|
||||||
|
|
||||||
|
-libdconf = shared_library(
|
||||||
|
+libdconf = static_library(
|
||||||
|
'dconf',
|
||||||
|
sources: sources,
|
||||||
|
- version: libversion,
|
||||||
|
- soversion: soversion,
|
||||||
|
+ #version: libversion,
|
||||||
|
+ #soversion: soversion,
|
||||||
|
include_directories: top_inc,
|
||||||
|
dependencies: client_deps,
|
||||||
|
c_args: dconf_c_args,
|
||||||
|
diff --git a/gsettings/meson.build b/gsettings/meson.build
|
||||||
|
index 9463453..1233d6a 100644
|
||||||
|
--- a/gsettings/meson.build
|
||||||
|
+++ b/gsettings/meson.build
|
||||||
|
@@ -6,7 +6,7 @@ backend_deps = [
|
||||||
|
symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
|
||||||
|
ldflags = cc.get_supported_link_arguments('-Wl,--version-script,@0@'.format(symbol_map))
|
||||||
|
|
||||||
|
-libdconf_settings = shared_library(
|
||||||
|
+libdconf_settings = static_library(
|
||||||
|
'dconfsettings',
|
||||||
|
sources: 'dconfsettingsbackend.c',
|
||||||
|
include_directories: top_inc,
|
||||||
|
diff --git a/tests/meson.build b/tests/meson.build
|
||||||
|
index 19f693a..81967a6 100644
|
||||||
|
--- a/tests/meson.build
|
||||||
|
+++ b/tests/meson.build
|
||||||
|
@@ -50,19 +50,19 @@ endforeach
|
||||||
|
|
||||||
|
symbol_test = find_program('abicheck.sh')
|
||||||
|
|
||||||
|
-abi_tests = [
|
||||||
|
- ['gsettings', libdconf_settings, files('../gsettings/symbols.txt')[0]],
|
||||||
|
- ['libdconf', libdconf, files('../client/symbols.txt')[0]],
|
||||||
|
-]
|
||||||
|
+#abi_tests = [
|
||||||
|
+ #['gsettings', libdconf_settings, files('../gsettings/symbols.txt')[0]],
|
||||||
|
+ #['libdconf', libdconf, files('../client/symbols.txt')[0]],
|
||||||
|
+#]
|
||||||
|
|
||||||
|
-foreach abi_test: abi_tests
|
||||||
|
- test(
|
||||||
|
- abi_test[0],
|
||||||
|
- symbol_test,
|
||||||
|
- env: envs,
|
||||||
|
- args: [abi_test[1].full_path(), abi_test[2]],
|
||||||
|
- )
|
||||||
|
-endforeach
|
||||||
|
+#foreach abi_test: abi_tests
|
||||||
|
+ #test(
|
||||||
|
+ #abi_test[0],
|
||||||
|
+ #symbol_test,
|
||||||
|
+ #env: envs,
|
||||||
|
+ #args: [abi_test[1].full_path(), abi_test[2]],
|
||||||
|
+ #)
|
||||||
|
+#endforeach
|
||||||
|
|
||||||
|
|
||||||
|
python3 = find_program('python3', required: false)
|
||||||
58
mods/static/duktape.patch
Normal file
58
mods/static/duktape.patch
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
diff --git a/dist-files/Makefile.staticlibrary b/dist-files/Makefile.staticlibrary
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..dc426631
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/dist-files/Makefile.staticlibrary
|
||||||
|
@@ -0,0 +1,50 @@
|
||||||
|
+#
|
||||||
|
+# Example of how to build and install locally as a static library
|
||||||
|
+#
|
||||||
|
+# Usage:
|
||||||
|
+#
|
||||||
|
+# $ make -f Makefile.staticlibrary
|
||||||
|
+# $ sudo make -f Makefile.staticlibrary install
|
||||||
|
+# $ make -f Makefile.staticlibrary duk # --> example 'duk' linked to static libduktape
|
||||||
|
+#
|
||||||
|
+# $ ls -l duk
|
||||||
|
+# -rwxrwxr-x 1 duktape duktape 413408 Nov 30 15:48 duk
|
||||||
|
+#
|
||||||
|
+# Based on: http://tldp.org/HOWTO/Program-Library-HOWTO/static-libraries.html
|
||||||
|
+
|
||||||
|
+# Change to actual path for actual distribution packaging.
|
||||||
|
+INSTALL_PREFIX = /usr/local
|
||||||
|
+
|
||||||
|
+# The 'noline' variant may be more appropriate for some distributions; it
|
||||||
|
+# doesn't have #line directives in the combined source.
|
||||||
|
+DUKTAPE_SRCDIR = ./src
|
||||||
|
+#DUKTAPE_SRCDIR = ./src-noline
|
||||||
|
+
|
||||||
|
+AR ?= ar
|
||||||
|
+AR := $(AR)
|
||||||
|
+CC ?= gcc
|
||||||
|
+CC := $(CC)
|
||||||
|
+
|
||||||
|
+.PHONY: all
|
||||||
|
+all: libduktape.a libduktaped.a
|
||||||
|
+
|
||||||
|
+# If the default duk_config.h is not suitable for the distribution, modify it
|
||||||
|
+# before compiling the static library and copy the same, edited duk_config.h
|
||||||
|
+# to $INSTALL_PREFIX/include on installation.
|
||||||
|
+
|
||||||
|
+libduktape.a:
|
||||||
|
+ $(CC) -Wall -Wextra -Os -c $(DUKTAPE_SRCDIR)/duktape.c -o $(DUKTAPE_SRCDIR)/duktape.o
|
||||||
|
+ $(AR) rcs $@ $(DUKTAPE_SRCDIR)/duktape.o
|
||||||
|
+
|
||||||
|
+libduktaped.a:
|
||||||
|
+ $(CC) -g -Wall -Wextra -Os -c $(DUKTAPE_SRCDIR)/duktape.c -o $(DUKTAPE_SRCDIR)/duktaped.o
|
||||||
|
+ $(AR) rcs $@ $(DUKTAPE_SRCDIR)/duktaped.o
|
||||||
|
+
|
||||||
|
+.PHONY: install
|
||||||
|
+install: libduktape.a libduktaped.a
|
||||||
|
+ mkdir -p $(INSTALL_PREFIX)/lib/
|
||||||
|
+ cp $+ $(INSTALL_PREFIX)/lib/
|
||||||
|
+ mkdir -p $(INSTALL_PREFIX)/include/
|
||||||
|
+ cp $(DUKTAPE_SRCDIR)/duktape.h $(DUKTAPE_SRCDIR)/duk_config.h $(INSTALL_PREFIX)/include/
|
||||||
|
+
|
||||||
|
+CCOPTS = -I./examples/cmdline
|
||||||
|
+duk:
|
||||||
|
+ $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)/lib -Wall -Wextra -Os -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm
|
||||||
194
mods/static/gobject-introspection.nix
Normal file
194
mods/static/gobject-introspection.nix
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchurl
|
||||||
|
, glib
|
||||||
|
, flex
|
||||||
|
, bison
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gtk-doc
|
||||||
|
, docbook-xsl-nons
|
||||||
|
, docbook_xml_dtd_43
|
||||||
|
, docbook_xml_dtd_45
|
||||||
|
, pkg-config
|
||||||
|
, libffi
|
||||||
|
, python3
|
||||||
|
#, cctools # not needed, because i don't build for darwin
|
||||||
|
, cairo
|
||||||
|
, gnome
|
||||||
|
, substituteAll
|
||||||
|
, buildPackages
|
||||||
|
, gobject-introspection-unwrapped
|
||||||
|
, nixStoreDir ? builtins.storeDir
|
||||||
|
, x11Support ? true
|
||||||
|
, testers
|
||||||
|
, nixpkgs # for me only probably, to add other files form nixpkgs
|
||||||
|
}:
|
||||||
|
|
||||||
|
# now that gobject-introspection creates large .gir files (eg gtk3 case)
|
||||||
|
# it may be worth thinking about using multiple derivation outputs
|
||||||
|
# In that case its about 6MB which could be separated
|
||||||
|
|
||||||
|
let
|
||||||
|
pythonModules = pp: [
|
||||||
|
pp.mako
|
||||||
|
pp.markdown
|
||||||
|
];
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "gobject-introspection";
|
||||||
|
version = "1.76.1";
|
||||||
|
|
||||||
|
# outputs TODO: share/gobject-introspection-1.0/tests is needed during build
|
||||||
|
# by pygobject3 (and maybe others), but it's only searched in $out
|
||||||
|
outputs = [ "out" "dev" "devdoc" "man" ];
|
||||||
|
outputBin = "dev";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/gobject-introspection/${lib.versions.majorMinor finalAttrs.version}/gobject-introspection-${finalAttrs.version}.tar.xz";
|
||||||
|
sha256 = "GWF4v2Q0VQHc3E2EabNqpv6ASJNU7+cct8uKuCo3OL8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# comment out a test, that tests for shared libs (i am linking static)
|
||||||
|
./gobject-introspection.patch
|
||||||
|
|
||||||
|
# Make g-ir-scanner put absolute path to GIR files it generates
|
||||||
|
# so that programs can just dlopen them without having to muck
|
||||||
|
# with LD_LIBRARY_PATH environment variable.
|
||||||
|
(substituteAll {
|
||||||
|
src = "${nixpkgs}/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch";
|
||||||
|
|
||||||
|
|
||||||
|
inherit nixStoreDir;
|
||||||
|
})
|
||||||
|
] ++ lib.optionals x11Support [
|
||||||
|
# Hardcode the cairo shared library path in the Cairo gir shipped with this package.
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/34080
|
||||||
|
(substituteAll {
|
||||||
|
src = "${nixpkgs}/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch";
|
||||||
|
cairoLib = "${lib.getLib cairo}/lib";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
flex
|
||||||
|
bison
|
||||||
|
gtk-doc
|
||||||
|
docbook-xsl-nons
|
||||||
|
docbook_xml_dtd_45
|
||||||
|
# Build definition checks for the Python modules needed at runtime by importing them.
|
||||||
|
(buildPackages.python3.withPackages pythonModules)
|
||||||
|
finalAttrs.setupHook # move .gir files
|
||||||
|
# can't use canExecute, we need prebuilt when cross
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ gobject-introspection-unwrapped ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
(python3.withPackages pythonModules)
|
||||||
|
];
|
||||||
|
|
||||||
|
#nativeCheckInputs = lib.optionals stdenv.isDarwin [
|
||||||
|
#cctools # for otool
|
||||||
|
#];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
libffi
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"--datadir=${placeholder "dev"}/share"
|
||||||
|
"-Dcairo=disabled"
|
||||||
|
"-Dgtk_doc=${lib.boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}"
|
||||||
|
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||||
|
"-Dgi_cross_ldd_wrapper=${substituteAll {
|
||||||
|
name = "g-ir-scanner-lddwrapper";
|
||||||
|
isExecutable = true;
|
||||||
|
src = "${nixpkgs}/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh";
|
||||||
|
inherit (buildPackages) bash;
|
||||||
|
buildlddtree = "${buildPackages.pax-utils}/bin/lddtree";
|
||||||
|
}}"
|
||||||
|
"-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}"
|
||||||
|
# can't use canExecute, we need prebuilt when cross
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
"-Dgi_cross_use_prebuilt_gi=true"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = !stdenv.isAarch64;
|
||||||
|
|
||||||
|
# During configurePhase, two python scripts are generated and need this. See
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/98316#issuecomment-695785692
|
||||||
|
postConfigure = ''
|
||||||
|
patchShebangs tools/*
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
cp -r ${nixpkgs.legacyPackages.x86_64-linux.gobject-introspection-unwrapped.devdoc} $devdoc
|
||||||
|
# these are uncompiled c and header files which aren't installed when cross-compiling because
|
||||||
|
# code that installs them is in tests/meson.build which is only run when not cross-compiling
|
||||||
|
# pygobject3 needs them
|
||||||
|
cp -r ${nixpkgs.legacyPackages.x86_64-linux.gobject-introspection-unwrapped.dev}/share/gobject-introspection-1.0/tests $dev/share/gobject-introspection-1.0/tests
|
||||||
|
|
||||||
|
''; /*+ ''
|
||||||
|
mkdir -p $out/pkgconfig
|
||||||
|
cp ./meson-private/gobject-introspection-1.0.pc $out/pkgconfig/
|
||||||
|
'';
|
||||||
|
postFixup = ''
|
||||||
|
# copy the pc file
|
||||||
|
echo hiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
||||||
|
echo $out
|
||||||
|
ls $out/lib
|
||||||
|
echo hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
|
||||||
|
mkdir -p $out/lib/pkgconfig
|
||||||
|
cp $out/pkgconfig/* $out/lib/pkgconfig/
|
||||||
|
'';
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
preCheck = ''
|
||||||
|
# Our gobject-introspection patches make the shared library paths absolute
|
||||||
|
# in the GIR files. When running tests, the library is not yet installed,
|
||||||
|
# though, so we need to replace the absolute path with a local one during build.
|
||||||
|
# We are using a symlink that we will delete before installation.
|
||||||
|
mkdir -p $out/lib
|
||||||
|
ln -s $PWD/tests/scanner/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary} $out/lib/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postCheck = ''
|
||||||
|
rm $out/lib/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary}
|
||||||
|
'';
|
||||||
|
# */
|
||||||
|
|
||||||
|
setupHook = "${nixpkgs}/pkgs/development/libraries/gobject-introspection/setup-hook.sh";
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome.updateScript {
|
||||||
|
packageName = "gobject-introspection";
|
||||||
|
versionPolicy = "odd-unstable";
|
||||||
|
};
|
||||||
|
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A middleware layer between C libraries and language bindings";
|
||||||
|
homepage = "https://gi.readthedocs.io/";
|
||||||
|
maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 artturin ]);
|
||||||
|
pkgConfigModules = [ "gobject-introspection-1.0" ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
license = with licenses; [ gpl2 lgpl2 ];
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
GObject introspection is a middleware layer between C libraries (using
|
||||||
|
GObject) and language bindings. The C library can be scanned at compile
|
||||||
|
time and generate a metadata file, in addition to the actual native C
|
||||||
|
library. Then at runtime, language bindings can read this metadata and
|
||||||
|
automatically provide bindings to call into the C library.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
13
mods/static/gobject-introspection.patch
Normal file
13
mods/static/gobject-introspection.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/tests/repository/meson.build b/tests/repository/meson.build
|
||||||
|
index 1744538..a95f083 100644
|
||||||
|
--- a/tests/repository/meson.build
|
||||||
|
+++ b/tests/repository/meson.build
|
||||||
|
@@ -4,7 +4,7 @@ if glib_dep.type_name() == 'pkgconfig'
|
||||||
|
'gitestrepo': typelibs,
|
||||||
|
'giteststructinfo': typelibs,
|
||||||
|
'gitestthrows': typelibs,
|
||||||
|
- 'gitypelibtest': [regress_typelib],
|
||||||
|
+ #'gitypelibtest': [regress_typelib],
|
||||||
|
}
|
||||||
|
|
||||||
|
repository_test_env = environment()
|
||||||
26
mods/static/python311Packages-lxml.patch
Normal file
26
mods/static/python311Packages-lxml.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/buildlibxml.py b/buildlibxml.py
|
||||||
|
index ab2efad..22fa8f6 100644
|
||||||
|
--- a/buildlibxml.py
|
||||||
|
+++ b/buildlibxml.py
|
||||||
|
@@ -278,7 +278,10 @@ def download_libxml2(dest_dir, version=None):
|
||||||
|
from_location = "https://gitlab.gnome.org/GNOME/libxml2/-/archive/dea91c97debeac7c1aaf9c19f79029809e23a353/"
|
||||||
|
version = "dea91c97debeac7c1aaf9c19f79029809e23a353"
|
||||||
|
else:
|
||||||
|
- from_location = http_find_latest_version_directory(LIBXML2_LOCATION, version=version)
|
||||||
|
+ pass
|
||||||
|
+ #from_location = http_find_latest_version_directory(LIBXML2_LOCATION, version=version)
|
||||||
|
+ version = "2.12.4"
|
||||||
|
+ from_location = "https://download.gnome.org/sources/libxml2/2.12/"
|
||||||
|
|
||||||
|
return download_library(dest_dir, from_location, 'libxml2',
|
||||||
|
version_re, filename, version=version)
|
||||||
|
@@ -289,7 +292,8 @@ def download_libxslt(dest_dir, version=None):
|
||||||
|
#version_re = re.compile(r'LATEST_LIBXSLT_IS_([0-9.]+[0-9](?:-[abrc0-9]+)?)')
|
||||||
|
version_re = re.compile(r'libxslt-([0-9.]+[0-9]).tar.xz')
|
||||||
|
filename = 'libxslt-%s.tar.xz'
|
||||||
|
- from_location = http_find_latest_version_directory(LIBXSLT_LOCATION, version=version)
|
||||||
|
+ #from_location = http_find_latest_version_directory(LIBXSLT_LOCATION, version=version)
|
||||||
|
+ from_location = "https://download.gnome.org/sources/libxslt/1.1/"
|
||||||
|
return download_library(dest_dir, from_location, 'libxslt',
|
||||||
|
version_re, filename, version=version)
|
||||||
|
|
||||||
@@ -9,6 +9,11 @@
|
|||||||
"github.com" = {
|
"github.com" = {
|
||||||
hostname = "github.com";
|
hostname = "github.com";
|
||||||
};
|
};
|
||||||
|
here = {
|
||||||
|
port = 8888;
|
||||||
|
hostname = "127.0.0.1";
|
||||||
|
user = "me";
|
||||||
|
};
|
||||||
rpi = {
|
rpi = {
|
||||||
port = 49388;
|
port = 49388;
|
||||||
user = "me";
|
user = "me";
|
||||||
|
|||||||
@@ -9,6 +9,11 @@ filter=--exclude="./Forms"
|
|||||||
echo "########################## DE ##########################"
|
echo "########################## DE ##########################"
|
||||||
rclone copy -vv $filter share-de-class-materials: ~/work/htl/de/class-materials/ 2>&1 >/dev/null | grep Copied --color=never | awk -F':' '{print $4}' | cut -c 2- | sed 's/^/class-materials: /'
|
rclone copy -vv $filter share-de-class-materials: ~/work/htl/de/class-materials/ 2>&1 >/dev/null | grep Copied --color=never | awk -F':' '{print $4}' | cut -c 2- | sed 's/^/class-materials: /'
|
||||||
|
|
||||||
|
# Labor
|
||||||
|
echo "########################## Labor ##########################"
|
||||||
|
rclone copy -vv $filter --exclude="ubuntu-22.04.3-desktop-amd64.iso" share-klotz-class-materials: ~/work/htl/labor/klotz/class-materials/ 2>&1 >/dev/null | grep Copied --color=never | awk -F':' '{print $4}' | cut -c 2- | sed 's/^/class-materials: /'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# HWE
|
# HWE
|
||||||
#echo "########################## HWE #########################"
|
#echo "########################## HWE #########################"
|
||||||
|
|||||||
@@ -98,6 +98,9 @@
|
|||||||
rustc
|
rustc
|
||||||
|
|
||||||
#localPacketTracer8
|
#localPacketTracer8
|
||||||
|
(ciscoPacketTracer8.overrideAttrs (prev: final: {
|
||||||
|
src = /home/me/work/software/CiscoPacketTracer_821_Ubuntu_64bit.deb;
|
||||||
|
}))
|
||||||
|
|
||||||
#ciscoPacketTracer8
|
#ciscoPacketTracer8
|
||||||
|
|
||||||
@@ -144,6 +147,7 @@
|
|||||||
"tab": "00:0a:50:90:f1:00",
|
"tab": "00:0a:50:90:f1:00",
|
||||||
# "phone": "86:9d:6a:bc:ca:1b", # can't do that, because phone changes mac address on reactivation of hotspot
|
# "phone": "86:9d:6a:bc:ca:1b", # can't do that, because phone changes mac address on reactivation of hotspot
|
||||||
"lush": "dc:a6:32:cb:4d:5f",
|
"lush": "dc:a6:32:cb:4d:5f",
|
||||||
|
"hpm": "bc:17:b8:27:26:5d",
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(sys.argv) == 1:
|
if len(sys.argv) == 1:
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
home-manager.users.me = import ./gui-home.nix;
|
home-manager.users.me = import ./gui-home.nix;
|
||||||
#home-manager.useGlobalPkgs = true;
|
#home-manager.useGlobalPkgs = true;
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
|
|||||||
Reference in New Issue
Block a user