aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorPouria Rezaei <Pouria.rz@outlook.com>2024-06-30 11:37:28 +0330
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2024-07-01 07:23:44 +0700
commit1092a176f7022a03cd38c2cedc25c8b8eda53222 (patch)
treed3ff5e3b2367edadd0295ed349cc8786bcb88f32 /system
parent913b395119e68132ad9bc6f342ef9ab6b35cbfb8 (diff)
system/nix: Updated to 2.13.6.
Signed-off-by: Pouria Rezaei <Pouria.rz@outlook.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system')
-rw-r--r--system/nix/README6
-rw-r--r--system/nix/doinst.sh1
-rw-r--r--system/nix/fix_nix_options.patch63
-rw-r--r--system/nix/nix.SlackBuild11
-rw-r--r--system/nix/nix.info8
-rw-r--r--system/nix/slack-desc12
6 files changed, 77 insertions, 24 deletions
diff --git a/system/nix/README b/system/nix/README
index 1178c2ae72..b6d2019efa 100644
--- a/system/nix/README
+++ b/system/nix/README
@@ -1,8 +1,6 @@
-nix (functional package manager)
-
Nix is a purely functional package manager. This means that it treats
-packages like values in purely functional programming languages
-such as Haskell -- they are built by functions that don't have
+packages like values in purely functional programming languages such
+as Haskell -- they are built by functions that don't have
side-effects, and they never change after they have been built. Nix
stores packages in the Nix store, usually the directory /nix/store,
where each package has its own unique subdirectory such as
diff --git a/system/nix/doinst.sh b/system/nix/doinst.sh
index 032197f9aa..e3f11603f0 100644
--- a/system/nix/doinst.sh
+++ b/system/nix/doinst.sh
@@ -23,3 +23,4 @@ preserve_perms() {
}
preserve_perms etc/rc.d/rc.nix.new
+config etc/nix/nix.conf.new
diff --git a/system/nix/fix_nix_options.patch b/system/nix/fix_nix_options.patch
index d9d1ca3d3c..6cbbd156b3 100644
--- a/system/nix/fix_nix_options.patch
+++ b/system/nix/fix_nix_options.patch
@@ -1,5 +1,5 @@
diff --git a/doc/manual/local.mk b/doc/manual/local.mk
-index 66a8cb7..d2db2b3 100644
+index f43510b..1e1e62d 100644
--- a/doc/manual/local.mk
+++ b/doc/manual/local.mk
@@ -24,7 +24,7 @@ dummy-env = env -i \
@@ -11,19 +11,24 @@ index 66a8cb7..d2db2b3 100644
$(d)/%.1: $(d)/src/command-ref/%.md
@printf "Title: %s\n\n" "$$(basename $@ .1)" > $^.tmp
-@@ -48,31 +48,31 @@ $(d)/src/SUMMARY.md: $(d)/src/SUMMARY.md.in $(d)/src/command-ref/new-cli
+@@ -48,29 +48,29 @@ $(d)/src/SUMMARY.md: $(d)/src/SUMMARY.md.in $(d)/src/command-ref/new-cli
$(trace-gen) cat doc/manual/src/SUMMARY.md.in | while IFS= read line; do if [[ $$line = @manpages@ ]]; then cat doc/manual/src/command-ref/new-cli/SUMMARY.md; else echo "$$line"; fi; done > $@.tmp
@mv $@.tmp $@
-$(d)/src/command-ref/new-cli: $(d)/nix.json $(d)/generate-manpage.nix $(bindir)/nix
+$(d)/src/command-ref/new-cli: $(d)/nix.json $(d)/generate-manpage.nix $(nix_DIR)/nix
@rm -rf $@
- $(trace-gen) $(nix-eval) --write-to $@ --expr 'import doc/manual/generate-manpage.nix { command = builtins.readFile $<; renderLinks = true; }'
+ $(trace-gen) $(nix-eval) --write-to $@.tmp --expr 'import doc/manual/generate-manpage.nix { toplevel = builtins.readFile $<; }'
+ @# @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable
+ $(trace-gen) sed -i $@.tmp/*.md -e 's^@docroot@^../..^g'
+ @mv $@.tmp $@
-$(d)/src/command-ref/conf-file.md: $(d)/conf-file.json $(d)/generate-options.nix $(d)/src/command-ref/conf-file-prefix.md $(bindir)/nix
+$(d)/src/command-ref/conf-file.md: $(d)/conf-file.json $(d)/generate-options.nix $(d)/src/command-ref/conf-file-prefix.md $(nix_DIR)/nix
@cat doc/manual/src/command-ref/conf-file-prefix.md > $@.tmp
- $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-options.nix (builtins.fromJSON (builtins.readFile $<))' >> $@.tmp
+ @# @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable
+ $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-options.nix (builtins.fromJSON (builtins.readFile $<))' \
+ | sed -e 's^@docroot@^..^g'>> $@.tmp
@mv $@.tmp $@
-$(d)/nix.json: $(bindir)/nix
@@ -41,7 +46,9 @@ index 66a8cb7..d2db2b3 100644
-$(d)/src/language/builtins.md: $(d)/builtins.json $(d)/generate-builtins.nix $(d)/src/language/builtins-prefix.md $(bindir)/nix
+$(d)/src/language/builtins.md: $(d)/builtins.json $(d)/generate-builtins.nix $(d)/src/language/builtins-prefix.md $(nix_DIR)/nix
@cat doc/manual/src/language/builtins-prefix.md > $@.tmp
- $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-builtins.nix (builtins.fromJSON (builtins.readFile $<))' >> $@.tmp
+ @# @docroot@: https://nixos.org/manual/nix/unstable/contributing/hacking.html#docroot-variable
+ $(trace-gen) $(nix-eval) --expr 'import doc/manual/generate-builtins.nix (builtins.fromJSON (builtins.readFile $<))' \
+@@ -78,8 +78,8 @@ $(d)/src/language/builtins.md: $(d)/builtins.json $(d)/generate-builtins.nix $(d
@cat doc/manual/src/language/builtins-suffix.md >> $@.tmp
@mv $@.tmp $@
@@ -53,14 +60,52 @@ index 66a8cb7..d2db2b3 100644
# Generate the HTML manual.
diff --git a/doc/manual/local.mk b/doc/manual/local.mk
-index 66a8cb7..abf0d2c 100644
+index 1e1e62d..3978847 100644
--- a/doc/manual/local.mk
+++ b/doc/manual/local.mk
-@@ -102,6 +102,6 @@ doc/manual/generated/man1/nix3-manpages: $(d)/src/command-ref/new-cli
+@@ -109,12 +109,12 @@ doc/manual/generated/man1/nix3-manpages: $(d)/src/command-ref/new-cli
@touch $@
$(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/anchors.jq $(d)/custom.css $(d)/src/SUMMARY.md $(d)/src/command-ref/new-cli $(d)/src/command-ref/conf-file.md $(d)/src/language/builtins.md
-- $(trace-gen) RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual
-+ # $(trace-gen) RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual
+- $(trace-gen) \
+- set -euo pipefail; \
+- RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual.tmp 2>&1 \
+- | { grep -Fv "because fragment resolution isn't implemented" || :; }
+- @rm -rf $(DESTDIR)$(docdir)/manual
+- @mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual
+- @rm -rf $(DESTDIR)$(docdir)/manual.tmp
++ # $(trace-gen) \
++ # set -euo pipefail; \
++ # RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual.tmp 2>&1 \
++ # | { grep -Fv "because fragment resolution isn't implemented" || :; }
++ # @rm -rf $(DESTDIR)$(docdir)/manual
++ # @mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual
++ # @rm -rf $(DESTDIR)$(docdir)/manual.tmp
endif
+diff --git a/Makefile b/Makefile
+index c1a1ce2..3ec1423 100644
+--- a/Makefile
++++ b/Makefile
+@@ -34,6 +34,8 @@ else
+ GLOBAL_CXXFLAGS += -O0 -U_FORTIFY_SOURCE
+ endif
+
++GLOBAL_CFLAGS += $(CPPFLAGS)
++
+ include mk/lib.mk
+
+ GLOBAL_CXXFLAGS += -g -Wall -include config.h -std=c++17 -I src
+diff --git a/src/libstore/sqlite.cc b/src/libstore/sqlite.cc
+index 871f2f3..21897d0 100644
+--- a/src/libstore/sqlite.cc
++++ b/src/libstore/sqlite.cc
+@@ -24,7 +24,7 @@ SQLiteError::SQLiteError(const char *path, const char *errMsg, int errNo, int ex
+ {
+ int err = sqlite3_errcode(db);
+ int exterr = sqlite3_extended_errcode(db);
+- int offset = sqlite3_error_offset(db);
++ int offset = -1;
+
+ auto path = sqlite3_db_filename(db, nullptr);
+ auto errMsg = sqlite3_errmsg(db);
diff --git a/system/nix/nix.SlackBuild b/system/nix/nix.SlackBuild
index f3e2e835e4..eb920d5503 100644
--- a/system/nix/nix.SlackBuild
+++ b/system/nix/nix.SlackBuild
@@ -46,7 +46,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=nix
-VERSION=${VERSION:-2.11.1}
+VERSION=${VERSION:-2.13.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -102,6 +102,9 @@ find -L . \
# root partition is bad, m'kay? (Updated)
# - The above patch was added thanks to Pragmatic Cypher, along with
# mdbook patch to make it disabled.
+# - Added global CFLAGS
+# - Changed to ignore offset, since function hasn't still implemented
+# in Slackware 15's sqlite.
patch -p1 < $CWD/fix_nix_options.patch
autoreconf -vfim
@@ -132,6 +135,12 @@ mkdir -p $PKG/nix/var/nix/daemon-socket
rm -fR $PKG/etc/init.d
rm -fR $PKG/usr/lib${LIBDIRSUFFIX}/systemd
+# Disable annoying error of nix search
+mkdir -p $PKG/etc/nix
+cat <<-EOF > $PKG/etc/nix/nix.conf.new
+experimental-features = nix-command flakes
+EOF
+
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/nix/nix.info b/system/nix/nix.info
index 2368bbe7cd..c76e6d5906 100644
--- a/system/nix/nix.info
+++ b/system/nix/nix.info
@@ -1,10 +1,10 @@
PRGNAM="nix"
-VERSION="2.11.1"
+VERSION="2.13.6"
HOMEPAGE="http://nixos.org/nix"
-DOWNLOAD="https://github.com/NixOS/nix/archive/2.11.1/nix-2.11.1.tar.gz"
-MD5SUM="b103a11f6c6c4e9a4c8c135a02a7540a"
+DOWNLOAD="https://github.com/NixOS/nix/archive/2.13.6/nix-2.13.6.tar.gz"
+MD5SUM="8fd7108b28c2716e87bbac8797de46a1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gtest jq libeditline lowdown libcpuid nlohmann_json"
+REQUIRES="graphviz gtest jq libeditline lowdown libcpuid nlohmann_json"
MAINTAINER="Pouria Rezaei"
EMAIL="Pouria.rz@outlook.com"
diff --git a/system/nix/slack-desc b/system/nix/slack-desc
index 4fac728738..0e3e2dc824 100644
--- a/system/nix/slack-desc
+++ b/system/nix/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-nix: nix (package manager)
-nix:
-nix: The purely functional package manager.
-nix:
-nix:
-nix:
+nix: nix (Functional Package Manager)
nix:
+nix: Nix is a purely functional package manager. This means that it treats
+nix: packages like values in purely functional programming languages such
+nix: as Haskell -- they are built by functions that don't have
+nix: side-effects, and they never change after they have been built.
nix:
+nix: Project URL: http://nixos.org/nix
nix:
nix:
nix: