diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2014-11-22 03:44:59 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2014-11-22 03:44:59 +0800 |
commit | ecdda1d3ef9f7513d6b02f0802672771733311bd (patch) | |
tree | 8635d8946431e5875887f8a45c2a8a6a65ab6c9c /guix | |
parent | 0639cf607b8d1d4bb8926f088ad7c3867984c475 (diff) | |
download | copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar.gz copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar.bz2 copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar.lz copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar.xz copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.tar.zst copr-rpm-spec-ecdda1d3ef9f7513d6b02f0802672771733311bd.zip |
Move packages in the addpkgs to its own project and update guix to 0.8
Diffstat (limited to 'guix')
-rw-r--r-- | guix/INSTALL.md | 8 | ||||
-rw-r--r-- | guix/README.md | 1 | ||||
-rw-r--r-- | guix/emacs-geiser/emacs-geiser.spec | 93 | ||||
-rw-r--r-- | guix/guix/guix.service | 10 | ||||
-rw-r--r-- | guix/guix/guix.spec | 190 |
5 files changed, 302 insertions, 0 deletions
diff --git a/guix/INSTALL.md b/guix/INSTALL.md new file mode 100644 index 0000000..87bf1e1 --- /dev/null +++ b/guix/INSTALL.md @@ -0,0 +1,8 @@ +The post-install script will create an user and a group called `guix-builder`. + +If you want more users for building packages, add more users to the +`guix-builder` group. + +Start the `guix-daemon` by using systemd or manually running command +`guix-daemon --build-users-group=guix-builder` as root. `guix-daemon` +will create most necessary files and directories when you first using it. diff --git a/guix/README.md b/guix/README.md new file mode 100644 index 0000000..69ae087 --- /dev/null +++ b/guix/README.md @@ -0,0 +1 @@ +[GNU Guix](http://www.gnu.org/software/guix/) packages with systemd service file diff --git a/guix/emacs-geiser/emacs-geiser.spec b/guix/emacs-geiser/emacs-geiser.spec new file mode 100644 index 0000000..9832283 --- /dev/null +++ b/guix/emacs-geiser/emacs-geiser.spec @@ -0,0 +1,93 @@ +%global pkg geiser +%global pkgname Geiser + +Name: emacs-%{pkg} +Version: 0.6 +Release: 1%{?dist} +Summary: Geiser is an Emacs environment to hack and have fun in Scheme. + +License: BSD +URL: http://nongnu.org/geiser +Source0: http://download.sv.gnu.org/releases/geiser/%{version}/%{pkg}-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: emacs +Requires: guile >= 2.0.9 +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description +%{pkgname} is an add-on package for GNU Emacs. It is a collection of Emacs +major and minor modes that conspire with one or more Scheme interpreters to +keep the Lisp Machine Spirit alive. + +%package el +Summary: Source for Geiser +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description el +Source package for %{pkgname}. + + +%prep +%setup -q -n %{pkg}-%{version} + + +%build +%configure +make %{?_smp_mflags} + + +%install +make install DESTDIR=%{buildroot} + + +%post +/sbin/install-info %{_infodir}/geiser.info.gz %{_infodir}/dir || : + + +%preun +if [ "$1" = 0 ]; then + /sbin/install-info --del %{_infodir}/geiser.info.gz %{_infodir}/dir || : +fi + + + +%files +%doc AUTHORS ChangeLog COPYING NEWS README THANKS +%{_bindir}/geiser-racket +%{_infodir}/geiser.info.gz +%{_datadir}/geiser/guile/geiser/xref.scm +%{_datadir}/geiser/guile/geiser/utils.scm +%{_datadir}/geiser/guile/geiser/modules.scm +%{_datadir}/geiser/guile/geiser/evaluation.scm +%{_datadir}/geiser/guile/geiser/emacs.scm +%{_datadir}/geiser/guile/geiser/doc.scm +%{_datadir}/geiser/guile/geiser/completion.scm +%{_datadir}/geiser/racket/geiser/utils.rkt +%{_datadir}/geiser/racket/geiser/user.rkt +%{_datadir}/geiser/racket/geiser/startup.rkt +%{_datadir}/geiser/racket/geiser/server.rkt +%{_datadir}/geiser/racket/geiser/modules.rkt +%{_datadir}/geiser/racket/geiser/main.rkt +%{_datadir}/geiser/racket/geiser/locations.rkt +%{_datadir}/geiser/racket/geiser/images.rkt +%{_datadir}/geiser/racket/geiser/eval.rkt +%{_datadir}/geiser/racket/geiser/enter.rkt +%{_datadir}/geiser/racket/geiser/completions.rkt +%{_datadir}/geiser/racket/geiser/autodoc.rkt +%{_emacs_sitelispdir}/geiser.elc +%{_emacs_sitelispdir}/geiser-*.elc +%exclude %{_infodir}/dir + + +%files el +%{_emacs_sitelispdir}/geiser.el +%{_emacs_sitelispdir}/geiser-*.el + + + +%changelog +* Sat Nov 22 2014 Ting-Wei Lan <lantw44@gmail.com> - 0.6-1 +- Initial packaging diff --git a/guix/guix/guix.service b/guix/guix/guix.service new file mode 100644 index 0000000..7804793 --- /dev/null +++ b/guix/guix/guix.service @@ -0,0 +1,10 @@ +[Unit] +Description=GNU Guix package manager + +[Service] +ExecStart=/usr/bin/guix-daemon --build-users-group=guix-builder +KillMode=process + +[Install] +WantedBy=multi-user.target + diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec new file mode 100644 index 0000000..8f84b76 --- /dev/null +++ b/guix/guix/guix.spec @@ -0,0 +1,190 @@ +Name: guix +Version: 0.8 +Release: 1%{?dist} +Summary: a purely functional package manager for the GNU system + +Group: System Environment/Base +License: GPLv3+ +URL: https://www.gnu.org/software/guix +Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +Source1: guix.service + +%global guile_required 2.0.5 +%global sqlite_required 3.6.19 +%global guix_user guix-builder +%global guix_group guix-builder + +BuildRequires: guile-devel >= %{guile_required} +BuildRequires: sqlite-devel >= %{sqlite_required} +BuildRequires: bzip2-devel, libgcrypt-devel +BuildRequires: emacs, emacs-geiser + +# Get %{_unitdir} macro +BuildRequires: systemd + +Requires: guile >= %{guile_required} +Requires: sqlite >= %{sqlite_required} +Requires: bzip2, libgcrypt +Requires(post): /sbin/useradd +Requires(post): /sbin/groupadd +Requires(post): /usr/bin/gpasswd +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + + +%description +GNU Guix is a purely functional package manager for the GNU system. In addition +to standard package management features, Guix supports transactional upgrades +and roll-backs, unprivileged package management, per-user profiles, and garbage +collection. It provides Guile Scheme APIs, including high-level embedded +domain-specific languages (EDSLs), to describe how packages are to be built and +composed. + +%package emacs +Summary: Emacs interface for GNU Guix +Requires: %{name} = %{version}-%{release} +Requires: emacs(bin) >= %{_emacs_version} +Requires: emacs-geiser +BuildArch: noarch + +%description emacs +Emacs interface for GNU Guix. + +%package emacs-el +Summary: Source for Emacs interface for GNU Guix +Requires: %{name}-emacs = %{version}-%{release} +BuildArch: noarch + +%description emacs-el +Source for Emacs interface for GNU Guix. + +%prep +%setup -q + +%build +%configure --disable-rpath +make %{?_smp_mflags} + +%install +make install DESTDIR=%{buildroot} +mkdir -p %{buildroot}/gnu/store +mkdir -p %{buildroot}%{_localstatedir}/log/guix +mkdir -p %{buildroot}%{_localstatedir}/guix +mkdir -p %{buildroot}%{_unitdir} +install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/guix.service +%{_emacs_bytecompile} %{buildroot}%{_emacs_sitelispdir}/guix*.el +%find_lang guix +%find_lang guix-packages + +%post +/sbin/install-info %{_infodir}/guix.info.gz %{_infodir}/dir || : +if [ "$1" = 1 ]; then + /sbin/groupadd -r %{guix_group} + /sbin/useradd -M -N -g %{guix_group} -d /gnu/store -s /sbin/nologin \ + -c "Guix build user" %{guix_user} + /usr/bin/gpasswd -a %{guix_user} %{guix_group} >/dev/null +fi +chgrp %{guix_user} /gnu/store +chmod 1775 /gnu/store + +%preun +if [ "$1" = 0 ]; then + /sbin/install-info --del %{_infodir}/guix.info.gz %{_infodir}/dir || : + rmdir --ignore-fail-on-non-empty /gnu/store + rmdir --ignore-fail-on-non-empty /gnu +fi + +%files -f guix.lang -f guix-packages.lang +%doc AUTHORS ChangeLog COPYING NEWS README ROADMAP THANKS TODO +%{_bindir}/guix +%{_bindir}/guix-daemon +%{_sbindir}/guix-register +%{_libexecdir}/guix/list-runtime-roots +%{_libexecdir}/guix/offload +%{_libexecdir}/guix/substitute-binary +%{_libexecdir}/guix-authenticate +%{_datadir}/guix/hydra.gnu.org.pub +%{_datadir}/guile/site/2.0/gnu.scm +%{_datadir}/guile/site/2.0/gnu.go +%{_datadir}/guile/site/2.0/gnu/artwork.scm +%{_datadir}/guile/site/2.0/gnu/artwork.go +%{_datadir}/guile/site/2.0/gnu/build/*.scm +%{_datadir}/guile/site/2.0/gnu/build/*.go +%{_datadir}/guile/site/2.0/gnu/packages.scm +%{_datadir}/guile/site/2.0/gnu/packages.go +%{_datadir}/guile/site/2.0/gnu/packages/*.scm +%{_datadir}/guile/site/2.0/gnu/packages/*.go +%{_datadir}/guile/site/2.0/gnu/packages/linux-libre-*.conf +%{_datadir}/guile/site/2.0/gnu/packages/patches/*.patch +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/mips64el-linux/tar +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/mips64el-linux/xz +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/mips64el-linux/mkdir +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/mips64el-linux/bash +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/i686-linux/tar +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/i686-linux/xz +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/i686-linux/mkdir +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/i686-linux/bash +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/x86_64-linux/tar +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/x86_64-linux/xz +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/x86_64-linux/mkdir +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/x86_64-linux/bash +%{_datadir}/guile/site/2.0/gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz +%{_datadir}/guile/site/2.0/gnu/services.scm +%{_datadir}/guile/site/2.0/gnu/services.go +%{_datadir}/guile/site/2.0/gnu/services/*.scm +%{_datadir}/guile/site/2.0/gnu/services/*.go +%{_datadir}/guile/site/2.0/gnu/system.scm +%{_datadir}/guile/site/2.0/gnu/system.go +%{_datadir}/guile/site/2.0/gnu/system/*.scm +%{_datadir}/guile/site/2.0/gnu/system/*.go +%{_datadir}/guile/site/2.0/gnu/system/os-config.tmpl +%{_datadir}/guile/site/2.0/guix.scm +%{_datadir}/guile/site/2.0/guix.go +%{_datadir}/guile/site/2.0/guix/*.scm +%{_datadir}/guile/site/2.0/guix/*.go +%{_datadir}/guile/site/2.0/guix/build/*.scm +%{_datadir}/guile/site/2.0/guix/build/*.go +%{_datadir}/guile/site/2.0/guix/emacs/guix-helper.scm +%{_datadir}/guile/site/2.0/guix/emacs/guix-main.scm +%{_datadir}/guile/site/2.0/guix/import/*.scm +%{_datadir}/guile/site/2.0/guix/import/*.go +%{_datadir}/guile/site/2.0/guix/scripts/*.scm +%{_datadir}/guile/site/2.0/guix/scripts/*.go +%{_datadir}/guile/site/2.0/guix/scripts/import/*.scm +%{_datadir}/guile/site/2.0/guix/scripts/import/*.go +%{_datadir}/guile/site/2.0/guix/build-system/*.scm +%{_datadir}/guile/site/2.0/guix/build-system/*.go +%dir /gnu/store +%dir %{_localstatedir}/log/guix +%dir %{_localstatedir}/guix +%{_infodir}/%{name}.info* +%{_infodir}/images/bootstrap-graph.png.gz +%exclude %{_infodir}/dir +%{_unitdir}/guix.service + +%files emacs +%{_emacs_sitelispdir}/guix*.elc + +%files emacs-el +%{_emacs_sitelispdir}/guix*.el + +%changelog +* Wed Nov 19 2014 Ting-Wei Lan <lantw44@gmail.com> - 0.8-1 +- Update to 0.8 + +* Tue Jul 29 2014 Ting-Wei Lan <lantw44@gmail.com> - 0.7-1 +- Update to 0.7 + +* Fri Apr 18 2014 Ting-Wei Lan <lantw44@gmail.com> - 0.6-2 +- Add a systemd service file + +* Thu Apr 10 2014 Ting-Wei Lan <lantw44@gmail.com> - 0.6-1 +- Update to 0.6 + +* Tue Dec 17 2013 Ting-Wei Lan <lantw44@gmail.com> - 0.5-1 +- Update to 0.5 + +* Mon Sep 30 2013 Ting-Wei Lan <lantw44@gmail.com> - 0.4-4 +- Initial packaging |