...
This commit is contained in:
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.overlays = [
|
||||
{ nixpkgs, ... }: final: prev: {
|
||||
#{
|
||||
#localPacketTracer8 = (pkgs.callPackage ../../prebuilt/packetTracer/default.nix {confDir = confDir;});
|
||||
#xdg-desktop-portal-termfilechooser = (pkgs.callPackage ../../mods/xdg-desktop-portal-termfilechooser/default.nix {});
|
||||
@@ -10,5 +8,108 @@
|
||||
#{
|
||||
#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)
|
||||
|
||||
Reference in New Issue
Block a user