Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dmacvicar
nix
nix.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File nix.spec of Package nix
# # spec file for package nix # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: nix Version: 2.17.0 Release: 0 Summary: A purely functional package manager License: LGPL-2.1 Group: System/Packages Url: https://nixos.org/ # https://github.com/NixOS/nix/archive/$pkgver.tar.gz Source0: nix-%{version}.tar.gz Source1: nix.conf Source2: nix-daemon.tmpfiles Source3: nix-daemon.user-tmpfiles Source4: nix-daemon.environment Source5: nix.sysusers Source6: nix-rpmlintrc #Patch0: 6015.diff BuildRequires: gmock BuildRequires: gc-devel BuildRequires: autoconf BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: jq BuildRequires: pkgconfig BuildRequires: systemd BuildRequires: sysuser-tools BuildRequires: gcc-c++ BuildRequires: gtest BuildRequires: lowdown-devel BuildRequires: flex BuildRequires: bison BuildRequires: libbz2-devel BuildRequires: sqlite3-devel BuildRequires: nlohmann_json-devel BuildRequires: libboost_context-devel BuildRequires: libboost_system-devel BuildRequires: libboost_thread-devel BuildRequires: libsodium-devel BuildRequires: libbrotli-devel BuildRequires: libseccomp-devel BuildRequires: libcurl-devel BuildRequires: libopenssl-devel BuildRequires: libarchive-devel BuildRequires: libcpuid-devel BuildRequires: readline-devel BuildRequires: systemd-rpm-macros BuildRequires: zsh BuildRequires: fish Requires: group(nix-users) # nix depends on liblzma BuildRequires: xz-devel %{?systemd_ordering} %description 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 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. %package manual Summary: Nix documentation Group: System/Packages BuildArch: noarch %description manual Nix package manager manual %package devel Summary: Development files for nix package manager Group: Development/Libraries/C and C++ Requires: nix = %{version} %description devel Development files and headers for nix package manager %prep %setup -q #% patch0 -p1 %build #./bootstrap.sh autoreconf -vfi export EDITLINE_CFLAGS="-DREADLINE" export EDITLINE_LIBS="%{_libdir}/libhistory.so %{_libdir}/libreadline.so" # https://github.com/NixOS/nix/issues/347 # we don't install nix libraries in libdir %configure --localstatedir=/nix/var \ --enable-gc \ --libdir=%{_libdir}/nix \ --disable-doc-gen \ --disable-tests mkdir -p %{buildroot}%{_libdir}/nix # stupid build process tries to change a destination file permissions during build %make_build profiledir="%{_sysconfdir}/profile.d" %install %make_install confdir="%{_sysconfdir}" # do not use env sed -i 's,/usr/bin/env bash,/usr/bin/bash,g' %{buildroot}%{_datadir}/bash-completion/completions/nix mkdir -p %{buildroot}/%{_sysconfdir}/nix install -Dm644 %{S:1} %{buildroot}%{_sysconfdir}/nix/nix.conf mkdir -p %{buildroot}/%{_tmpfilesdir} install -Dm644 %{S:2} %{buildroot}%{_tmpfilesdir}/nix-daemon.conf mkdir -p %{buildroot}%{_datadir}/user-tmpfiles.d install -Dm644 %{S:3} %{buildroot}%{_datadir}/user-tmpfiles.d/nix-daemon.conf mkdir -p %{buildroot}/%{_environmentdir} install -Dm644 %{S:4} %{buildroot}%{_environmentdir}/nix-daemon.conf mkdir -p %{buildroot}%{_sysusersdir} install -m 0644 %{S:5} %{buildroot}%{_sysusersdir}/nix.conf # we don't want upstart job rm -rf %{buildroot}%{_sysconfdir}/init # fix permission chmod -x %{buildroot}%{_sysconfdir}/profile.d/nix.sh mv %{buildroot}%{_libdir}/nix/pkgconfig %{buildroot}%{_libdir}/pkgconfig # TODO don't know yet how this affect the .sh files rm -f %{buildroot}%{_sysconfdir}/profile.d/nix-daemon.fish rm -f %{buildroot}%{_sysconfdir}/profile.d/nix.fish %pre %sysusers_create_package %{name} %{S:5} %service_add_pre nix-daemon.service nix-daemon.socket %post %tmpfiles_create %{_tmpfilesdir}/nix-daemon.conf %service_add_post nix-daemon.service nix-daemon.socket %preun %service_del_preun nix-daemon.service nix-daemon.socket %postun %service_del_postun nix-daemon.service nix-daemon.socket %files %doc README.md %license COPYING %config(noreplace) %{_sysconfdir}/profile.d/nix.sh %config(noreplace) %{_sysconfdir}/nix/nix.conf %config(noreplace) %{_sysconfdir}/profile.d/nix-daemon.sh %dir %{_datadir}/user-tmpfiles.d %dir %{_sysconfdir}/nix %ghost /nix %ghost /nix/var %ghost /nix/var/nix %ghost /nix/var/nix/gcroots %ghost /nix/var/nix/profiles %ghost /nix/var/nix/profiles/per-user %ghost /nix/var/nix/gcroots/per-user %ghost /nix/var/nix/daemon-socket %{_bindir}/nix %{_bindir}/nix-build %{_bindir}/nix-channel %{_bindir}/nix-copy-closure %{_bindir}/nix-daemon %{_bindir}/nix-env %{_bindir}/nix-hash %{_bindir}/nix-instantiate %{_bindir}/nix-prefetch-url %{_bindir}/nix-shell %{_bindir}/nix-store %{_bindir}/nix-collect-garbage %{_libdir}/nix %{_libexecdir}/nix/ %{_unitdir}/nix-daemon.service %{_unitdir}/nix-daemon.socket %{_sysusersdir}/nix.conf %{_tmpfilesdir}/nix-daemon.conf %{_datadir}/user-tmpfiles.d/nix-daemon.conf %{_environmentdir}/nix-daemon.conf %{_datadir}/bash-completion/completions/nix %{_datadir}/fish/vendor_completions.d/nix.fish %{_datadir}/zsh/site-functions/_nix %{_datadir}/zsh/site-functions/run-help-nix %files devel %{_includedir}/nix/ %{_libdir}/pkgconfig/nix* %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor