freeciv 3.1.4
OBS-URL: https://build.opensuse.org/package/show/games/freeciv?expand=0&rev=89
This commit is contained in:
commit
07fef51c6f
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
freeciv-3.0.10.tar.xz
Normal file
3
freeciv-3.0.10.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c185c8ea0d6a2e974a5ad12fb837ca3ceb9aed3e7e884355f01035f5e779d23c
|
||||||
|
size 43433812
|
3
freeciv-3.1.4.tar.xz
Normal file
3
freeciv-3.1.4.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:14999bb903c4507cc287d5a8dd1b89eee623bb41b4e01e0836567fb5f13296e4
|
||||||
|
size 46674900
|
72
freeciv-gtk3.desktop
Normal file
72
freeciv-gtk3.desktop
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Name=Freeciv
|
||||||
|
Name[be]=Свабодная Цывілізацыя
|
||||||
|
Name[bg]=Цивилизация
|
||||||
|
Name[eo]=Libera Civilizludo
|
||||||
|
Name[fa]=تمدنآزاد
|
||||||
|
Name[nso]=civ yeo e lokollogilego
|
||||||
|
Name[sv]=Friciv
|
||||||
|
Name[ven]=civ ya Mahala
|
||||||
|
Name[vi]=Freeciv
|
||||||
|
Name[zh_CN]=文明
|
||||||
|
Name[zh_TW]=Freeciv 仿「文明帝國」遊戲
|
||||||
|
Type=Application
|
||||||
|
GenericName=Strategy Game
|
||||||
|
GenericName[af]=Strategie Speletjie
|
||||||
|
GenericName[be]=Стратэгічная гульня
|
||||||
|
GenericName[bg]=Стратегическа Игра
|
||||||
|
GenericName[bs]=Strateška igra
|
||||||
|
GenericName[ca]=Joc d'estratègia
|
||||||
|
GenericName[cs]=Strategická hra
|
||||||
|
GenericName[da]=Strategispil
|
||||||
|
GenericName[de]=Strategiespiel
|
||||||
|
GenericName[el]=Παιχνίδι Στρατηγικής
|
||||||
|
GenericName[eo]=Strategiludo
|
||||||
|
GenericName[es]=Juego de estrategia
|
||||||
|
GenericName[et]=Strateegiamäng
|
||||||
|
GenericName[fa]=بازی استراتژیک
|
||||||
|
GenericName[fi]=Strategiapeli
|
||||||
|
GenericName[fo]=Strategispæl
|
||||||
|
GenericName[fr]=Jeu de stratégie
|
||||||
|
GenericName[he]=משחק אסטרטגיה
|
||||||
|
GenericName[hr]=Igra strategije
|
||||||
|
GenericName[hu]=stratégiai
|
||||||
|
GenericName[is]=Herkænskuleikur
|
||||||
|
GenericName[it]=Gioco di strategia
|
||||||
|
GenericName[ja]=戦略ゲーム
|
||||||
|
GenericName[lo]=ເກມກົນລະຍຸດ
|
||||||
|
GenericName[lt]=Strateginis žaidimas
|
||||||
|
GenericName[lv]=Stratēģiskā Game
|
||||||
|
GenericName[mk]=Стратегиска игра
|
||||||
|
GenericName[mn]=Стратегийн тоглоом
|
||||||
|
GenericName[mt]=Logħba ta' strateġija
|
||||||
|
GenericName[nb]=Strategispill
|
||||||
|
GenericName[nl]=strategisch spel
|
||||||
|
GenericName[nn]=Strategispel
|
||||||
|
GenericName[nso]=Papadi ya Mokgwa wa Tharollo
|
||||||
|
GenericName[pl]=Gra strategiczna
|
||||||
|
GenericName[pt]=Jogo de Estratégia
|
||||||
|
GenericName[pt_BR]=Estratégia
|
||||||
|
GenericName[ro]=Joc de strategie
|
||||||
|
GenericName[ru]=Стратегическая игра
|
||||||
|
GenericName[se]=Strategiijaspeallu
|
||||||
|
GenericName[sk]=Strategická hra
|
||||||
|
GenericName[sl]=Strateška igra
|
||||||
|
GenericName[ss]=Umdlalo wekusebentisa indlela yekwenta
|
||||||
|
GenericName[sv]=Strategispel
|
||||||
|
GenericName[th]=เกมกลยุทธ์
|
||||||
|
GenericName[tr]=Strateji Oyunu
|
||||||
|
GenericName[uk]=Гра на стратегію
|
||||||
|
GenericName[ven]=Mutambo wa maitele awo
|
||||||
|
GenericName[xh]=Indlela ethile Yomdlalo
|
||||||
|
GenericName[zh_CN]=策略游戏
|
||||||
|
GenericName[zh_TW]=策略遊戲
|
||||||
|
GenericName[zu]=Umdlalo weplani
|
||||||
|
Exec=freeciv-gtk3
|
||||||
|
Icon=freeciv
|
||||||
|
Path=
|
||||||
|
Terminal=false
|
||||||
|
|
||||||
|
Categories=Game;StrategyGame
|
16
freeciv-manual
Normal file
16
freeciv-manual
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
tmplang="$LANG"
|
||||||
|
test "$LC_MESSAGES" != "" && tmplang="$LC_MESSAGES"
|
||||||
|
test "$LC_ALL" != "" && tmplang="$LC_ALL"
|
||||||
|
test "$LANGUAGE" != "" && tmplang="$LANGUAGE"
|
||||||
|
|
||||||
|
lang=`echo $tmplang|cut -d "_" -f 1`
|
||||||
|
|
||||||
|
if [ "$lang" == "de" ]; then
|
||||||
|
DOCFILE="http://de.freeciv.wikia.com/wiki/Spielanleitung"
|
||||||
|
else
|
||||||
|
DOCFILE="http://freeciv.wikia.com/wiki/Game_Manual"
|
||||||
|
fi
|
||||||
|
|
||||||
|
call-browser $DOCFILE
|
6
freeciv-manual.desktop
Normal file
6
freeciv-manual.desktop
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=FreeCiv Manual
|
||||||
|
Name[de]=FreeCiv Handbuch
|
||||||
|
Exec=freeciv-manual
|
||||||
|
Icon=freeciv-manual
|
3
freeciv-manual.png
Normal file
3
freeciv-manual.png
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:84220d3f4e91c8c0c03949f903ca7ccddc54396f4c155467a5355f794e979586
|
||||||
|
size 1794
|
72
freeciv-qt.desktop
Normal file
72
freeciv-qt.desktop
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Version=1.0
|
||||||
|
Name=Freeciv
|
||||||
|
Name[be]=Свабодная Цывілізацыя
|
||||||
|
Name[bg]=Цивилизация
|
||||||
|
Name[eo]=Libera Civilizludo
|
||||||
|
Name[fa]=تمدنآزاد
|
||||||
|
Name[nso]=civ yeo e lokollogilego
|
||||||
|
Name[sv]=Friciv
|
||||||
|
Name[ven]=civ ya Mahala
|
||||||
|
Name[vi]=Freeciv
|
||||||
|
Name[zh_CN]=文明
|
||||||
|
Name[zh_TW]=Freeciv 仿「文明帝國」遊戲
|
||||||
|
Type=Application
|
||||||
|
GenericName=Strategy Game
|
||||||
|
GenericName[af]=Strategie Speletjie
|
||||||
|
GenericName[be]=Стратэгічная гульня
|
||||||
|
GenericName[bg]=Стратегическа Игра
|
||||||
|
GenericName[bs]=Strateška igra
|
||||||
|
GenericName[ca]=Joc d'estratègia
|
||||||
|
GenericName[cs]=Strategická hra
|
||||||
|
GenericName[da]=Strategispil
|
||||||
|
GenericName[de]=Strategiespiel
|
||||||
|
GenericName[el]=Παιχνίδι Στρατηγικής
|
||||||
|
GenericName[eo]=Strategiludo
|
||||||
|
GenericName[es]=Juego de estrategia
|
||||||
|
GenericName[et]=Strateegiamäng
|
||||||
|
GenericName[fa]=بازی استراتژیک
|
||||||
|
GenericName[fi]=Strategiapeli
|
||||||
|
GenericName[fo]=Strategispæl
|
||||||
|
GenericName[fr]=Jeu de stratégie
|
||||||
|
GenericName[he]=משחק אסטרטגיה
|
||||||
|
GenericName[hr]=Igra strategije
|
||||||
|
GenericName[hu]=stratégiai
|
||||||
|
GenericName[is]=Herkænskuleikur
|
||||||
|
GenericName[it]=Gioco di strategia
|
||||||
|
GenericName[ja]=戦略ゲーム
|
||||||
|
GenericName[lo]=ເກມກົນລະຍຸດ
|
||||||
|
GenericName[lt]=Strateginis žaidimas
|
||||||
|
GenericName[lv]=Stratēģiskā Game
|
||||||
|
GenericName[mk]=Стратегиска игра
|
||||||
|
GenericName[mn]=Стратегийн тоглоом
|
||||||
|
GenericName[mt]=Logħba ta' strateġija
|
||||||
|
GenericName[nb]=Strategispill
|
||||||
|
GenericName[nl]=strategisch spel
|
||||||
|
GenericName[nn]=Strategispel
|
||||||
|
GenericName[nso]=Papadi ya Mokgwa wa Tharollo
|
||||||
|
GenericName[pl]=Gra strategiczna
|
||||||
|
GenericName[pt]=Jogo de Estratégia
|
||||||
|
GenericName[pt_BR]=Estratégia
|
||||||
|
GenericName[ro]=Joc de strategie
|
||||||
|
GenericName[ru]=Стратегическая игра
|
||||||
|
GenericName[se]=Strategiijaspeallu
|
||||||
|
GenericName[sk]=Strategická hra
|
||||||
|
GenericName[sl]=Strateška igra
|
||||||
|
GenericName[ss]=Umdlalo wekusebentisa indlela yekwenta
|
||||||
|
GenericName[sv]=Strategispel
|
||||||
|
GenericName[th]=เกมกลยุทธ์
|
||||||
|
GenericName[tr]=Strateji Oyunu
|
||||||
|
GenericName[uk]=Гра на стратегію
|
||||||
|
GenericName[ven]=Mutambo wa maitele awo
|
||||||
|
GenericName[xh]=Indlela ethile Yomdlalo
|
||||||
|
GenericName[zh_CN]=策略游戏
|
||||||
|
GenericName[zh_TW]=策略遊戲
|
||||||
|
GenericName[zu]=Umdlalo weplani
|
||||||
|
Exec=freeciv-qt
|
||||||
|
Icon=freeciv
|
||||||
|
Path=
|
||||||
|
Terminal=false
|
||||||
|
|
||||||
|
Categories=Game;StrategyGame
|
1526
freeciv.changes
Normal file
1526
freeciv.changes
Normal file
File diff suppressed because it is too large
Load Diff
3
freeciv.png
Normal file
3
freeciv.png
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ef31ce15e8665df4cd86cc7195407c909454dcf0d129729aa647e8f6ca7b923c
|
||||||
|
size 1852
|
184
freeciv.spec
Normal file
184
freeciv.spec
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
#
|
||||||
|
# spec file for package freeciv
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||||
|
#
|
||||||
|
# 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 https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: freeciv
|
||||||
|
Version: 3.1.4
|
||||||
|
Release: 0
|
||||||
|
Summary: Free Civilization Clone
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: Amusements/Games/Strategy/Turn Based
|
||||||
|
URL: https://www.freeciv.org
|
||||||
|
Source0: https://files.freeciv.org/stable/%{name}-%{version}.tar.xz
|
||||||
|
BuildRequires: c++_compiler
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gtk3-devel >= 3.22.0
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: readline-devel
|
||||||
|
BuildRequires: pkgconfig(SDL2_mixer)
|
||||||
|
BuildRequires: pkgconfig(audiofile)
|
||||||
|
BuildRequires: pkgconfig(bzip2)
|
||||||
|
BuildRequires: pkgconfig(gtk4) >= 4.0.0
|
||||||
|
BuildRequires: pkgconfig(icu-uc)
|
||||||
|
BuildRequires: pkgconfig(libcurl) >= 7.9.7
|
||||||
|
BuildRequires: pkgconfig(liblzma)
|
||||||
|
BuildRequires: pkgconfig(libzstd)
|
||||||
|
BuildRequires: pkgconfig(lua) >= 5.4
|
||||||
|
BuildRequires: pkgconfig(sdl2) >= 2.0.0
|
||||||
|
BuildRequires: pkgconfig(sqlite3) >= 3.0.0
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
Requires: freeciv_client-%{version}
|
||||||
|
%if 0%{?suse_version} > 1600
|
||||||
|
BuildRequires: pkgconfig(Qt6Core)
|
||||||
|
BuildRequires: pkgconfig(Qt6Gui)
|
||||||
|
BuildRequires: pkgconfig(Qt6Widgets)
|
||||||
|
%else
|
||||||
|
BuildRequires: libqt5-qtbase-common-devel
|
||||||
|
BuildRequires: libqt5-qtbase-devel
|
||||||
|
%endif
|
||||||
|
%lang_package
|
||||||
|
|
||||||
|
%description
|
||||||
|
A clone of the well known game Civilization by Microprose.
|
||||||
|
|
||||||
|
Every player is the leader of an imaginary nation. The aim of the game
|
||||||
|
can be to create a prospering civilization with commerce and knowledge
|
||||||
|
exchange or (more often) the extinction of all other civilizations.
|
||||||
|
|
||||||
|
To start a new game, first start the server 'civserver,' then start the
|
||||||
|
client 'civclient'. Have fun!
|
||||||
|
|
||||||
|
%package qt
|
||||||
|
Summary: Qt client for freeciv
|
||||||
|
Group: Amusements/Games/Strategy/Turn Based
|
||||||
|
Requires: freeciv = %{version}
|
||||||
|
Provides: freeciv_client-%{version}
|
||||||
|
|
||||||
|
%description qt
|
||||||
|
Freeciv executable using Qt library
|
||||||
|
|
||||||
|
%package gtk3
|
||||||
|
Summary: Gtk3 client for freeciv
|
||||||
|
Group: Amusements/Games/Strategy/Turn Based
|
||||||
|
Requires: freeciv = %{version}
|
||||||
|
Provides: freeciv_client-%{version}
|
||||||
|
|
||||||
|
%description gtk3
|
||||||
|
Freeciv executable using Gtk3 library
|
||||||
|
|
||||||
|
%package gtk4
|
||||||
|
Summary: Gtk4 client for freeciv
|
||||||
|
Group: Amusements/Games/Strategy/Turn Based
|
||||||
|
Requires: freeciv = %{version}
|
||||||
|
Provides: freeciv_client-%{version}
|
||||||
|
|
||||||
|
%description gtk4
|
||||||
|
Freeciv executable using Gtk4 library
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure \
|
||||||
|
--enable-client=gtk3.22,gtk4,qt \
|
||||||
|
--enable-fcmp=gtk3,gtk4,qt \
|
||||||
|
%if 0%{?suse_version} > 1600
|
||||||
|
--with-qtver=qt6 \
|
||||||
|
%else
|
||||||
|
--with-qtver=qt5 \
|
||||||
|
%endif
|
||||||
|
--enable-fcdb=sqlite3 \
|
||||||
|
--enable-ruleedit \
|
||||||
|
--with-readline \
|
||||||
|
--with-libbz2 \
|
||||||
|
--with-liblzma \
|
||||||
|
--with-libzstd \
|
||||||
|
--enable-sys-lua \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=%{_docdir}/freeciv \
|
||||||
|
%{nil}
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
rm %{buildroot}%{_docdir}/freeciv/COPYING
|
||||||
|
find %{buildroot} -type f -name "*.a" -print -delete
|
||||||
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
|
|
||||||
|
%find_lang %{name}-core
|
||||||
|
%find_lang %{name}-nations
|
||||||
|
%find_lang %{name}-ruledit
|
||||||
|
%fdupes %{buildroot}/%{_datadir}/
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc %{_docdir}/freeciv
|
||||||
|
%doc README
|
||||||
|
%license COPYING
|
||||||
|
%exclude %{_docdir}/freeciv/INSTALL*
|
||||||
|
%{_mandir}/man6/freeciv.6%{?ext_man}
|
||||||
|
%{_mandir}/man6/freeciv-*.6%{?ext_man}
|
||||||
|
%dir %{_sysconfdir}/%{name}
|
||||||
|
%config %{_sysconfdir}/%{name}/database.lua
|
||||||
|
%{_bindir}/freeciv-ruledit
|
||||||
|
%{_bindir}/freeciv-ruleup
|
||||||
|
%{_bindir}/freeciv-server
|
||||||
|
%{_bindir}/freeciv-manual
|
||||||
|
%{_datadir}/applications/org.freeciv.server.desktop
|
||||||
|
%{_datadir}/applications/org.freeciv.ruledit.desktop
|
||||||
|
%{_datadir}/freeciv/
|
||||||
|
%{_datadir}/icons/hicolor/*x*/apps/freeciv-client.png
|
||||||
|
%{_datadir}/icons/hicolor/*x*/apps/freeciv-server.png
|
||||||
|
%{_datadir}/icons/hicolor/*x*/apps/freeciv-modpack.png
|
||||||
|
%{_datadir}/icons/hicolor/*x*/apps/freeciv-ruledit.png
|
||||||
|
%{_datadir}/pixmaps/freeciv-client.png
|
||||||
|
%{_datadir}/pixmaps/freeciv-modpack.png
|
||||||
|
%{_datadir}/pixmaps/freeciv-ruledit.png
|
||||||
|
%{_datadir}/metainfo/org.freeciv.server.metainfo.xml
|
||||||
|
%{_datadir}/metainfo/org.freeciv.ruledit.metainfo.xml
|
||||||
|
|
||||||
|
%files lang -f %{name}-core.lang -f %{name}-nations.lang -f %{name}-ruledit.lang
|
||||||
|
%license COPYING
|
||||||
|
|
||||||
|
%files gtk3
|
||||||
|
%license COPYING
|
||||||
|
%{_bindir}/freeciv-gtk3.22
|
||||||
|
%{_bindir}/freeciv-mp-gtk3
|
||||||
|
%{_datadir}/applications/org.freeciv.gtk322.desktop
|
||||||
|
%{_datadir}/applications/org.freeciv.gtk3.mp.desktop
|
||||||
|
%{_datadir}/metainfo/org.freeciv.gtk322.metainfo.xml
|
||||||
|
%{_datadir}/metainfo/org.freeciv.gtk3.mp.metainfo.xml
|
||||||
|
|
||||||
|
%files gtk4
|
||||||
|
%license COPYING
|
||||||
|
%{_bindir}/freeciv-gtk4
|
||||||
|
%{_bindir}/freeciv-mp-gtk4
|
||||||
|
%{_datadir}/applications/org.freeciv.gtk4.desktop
|
||||||
|
%{_datadir}/applications/org.freeciv.gtk4.mp.desktop
|
||||||
|
%{_datadir}/metainfo/org.freeciv.gtk4.metainfo.xml
|
||||||
|
%{_datadir}/metainfo/org.freeciv.gtk4.mp.metainfo.xml
|
||||||
|
|
||||||
|
%files qt
|
||||||
|
%license COPYING
|
||||||
|
%{_bindir}/freeciv-qt
|
||||||
|
%{_bindir}/freeciv-mp-qt
|
||||||
|
%{_datadir}/applications/org.freeciv.qt.desktop
|
||||||
|
%{_datadir}/applications/org.freeciv.qt.mp.desktop
|
||||||
|
%{_datadir}/metainfo/org.freeciv.qt.metainfo.xml
|
||||||
|
%{_datadir}/metainfo/org.freeciv.qt.mp.metainfo.xml
|
||||||
|
|
||||||
|
%changelog
|
Loading…
x
Reference in New Issue
Block a user