forked from pool/hugin
This commit is contained in:
parent
4edfe6c09f
commit
7c10d8f03c
@ -1,20 +0,0 @@
|
|||||||
--- bootstrap
|
|
||||||
+++ bootstrap
|
|
||||||
@@ -42,7 +42,7 @@
|
|
||||||
gettextize_version=`$GETTEXTIZE --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
|
|
||||||
# echo gettextize version: $gettextize_version
|
|
||||||
case $gettextize_version in
|
|
||||||
- 0.11*|0.12*|0.13*|0.14*|0.15*|0.16*)
|
|
||||||
+ 0.11*|0.12*|0.13*|0.14*|0.15*|0.16*|0.1[1-9]*)
|
|
||||||
have_gettextize=true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -79,7 +79,7 @@
|
|
||||||
automake_version=`$AUTOMAKE --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
|
|
||||||
# echo automake version: $automake_version
|
|
||||||
case $automake_version in
|
|
||||||
- 1.7*|1.8*|1.9*)
|
|
||||||
+ 1.7*|1.8*|1.9*|1.[1-9][0-9]*)
|
|
||||||
have_automake=true
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4527d40ae56a6ef67583a350ab67505e86054c0b297b2d18cf892c2751cabcfd
|
|
||||||
size 2319243
|
|
@ -1,34 +0,0 @@
|
|||||||
--- src/hugin/AutoCtrlPointCreator.cpp
|
|
||||||
+++ src/hugin/AutoCtrlPointCreator.cpp
|
|
||||||
@@ -224,8 +224,7 @@
|
|
||||||
wxSetWorkingDirectory(apDir);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
-
|
|
||||||
- wxString ptofile(wxT("autopano_result_tempfile.pto"));
|
|
||||||
+ wxString ptofile = wxFileName::CreateTempFileName(wxT("ap_res"));
|
|
||||||
autopanoArgs.Replace(wxT("%o"), ptofile);
|
|
||||||
wxString tmp;
|
|
||||||
tmp.Printf(wxT("%d"), nFeatures);
|
|
||||||
@@ -415,7 +414,7 @@
|
|
||||||
imgNr++;
|
|
||||||
}
|
|
||||||
|
|
||||||
- wxString ptofile(wxT("autopano_result_tempfile"));
|
|
||||||
+ wxString ptofile = wxFileName::CreateTempFileName(wxT("ap_res"));
|
|
||||||
autopanoArgs.Replace(wxT("%o"), ptofile);
|
|
||||||
wxString tmp;
|
|
||||||
tmp.Printf(wxT("%d"), nFeatures);
|
|
||||||
--- src/Panorama/PTOptimise.cpp
|
|
||||||
+++ src/Panorama/PTOptimise.cpp
|
|
||||||
@@ -36,8 +36,8 @@
|
|
||||||
#include <boost/property_map.hpp>
|
|
||||||
#include <boost/graph/graph_utility.hpp>
|
|
||||||
|
|
||||||
-#define DEBUG_WRITE_OPTIM_OUTPUT
|
|
||||||
-#define DEBUG_WRITE_OPTIM_OUTPUT_FILE "hugin_debug_optim_results.txt"
|
|
||||||
+//#define DEBUG_WRITE_OPTIM_OUTPUT
|
|
||||||
+//#define DEBUG_WRITE_OPTIM_OUTPUT_FILE "hugin_debug_optim_results.txt"
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
using namespace PT;
|
|
@ -1,32 +0,0 @@
|
|||||||
--- m4/ax_fftw.m4
|
|
||||||
+++ m4/ax_fftw.m4
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
AC_DEFUN([AC_PATH_FFTW],
|
|
||||||
[
|
|
||||||
-LIBFFTW="-lrfftw -lfftw"
|
|
||||||
+LIBFFTW="-ldrfftw -ldfftw"
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for fftw])
|
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@
|
|
||||||
test=NONE
|
|
||||||
fftw_libdir=NONE
|
|
||||||
for dir in $fftw_libdirs; do
|
|
||||||
- try="ls -1 $dir/libfftw*"
|
|
||||||
+ try="ls -1 $dir/libdfftw*"
|
|
||||||
if test=`eval $try 2> /dev/null`; then fftw_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
|
|
||||||
done
|
|
||||||
|
|
||||||
@@ -128,10 +128,10 @@
|
|
||||||
|
|
||||||
if test "$fftw_libraries" = "/usr/lib" || test "$fftw_libraries" = "/usr/lib64" || test "$fftw_libraries" = "$x_libraries" || test -z "$fftw_libraries"; then
|
|
||||||
FFTW_LDFLAGS=""
|
|
||||||
- LIB_FFTW='-lrfftw -lfftw'
|
|
||||||
+ LIB_FFTW='-ldrfftw -ldfftw'
|
|
||||||
else
|
|
||||||
FFTW_LDFLAGS="-L$fftw_libraries"
|
|
||||||
- LIB_FFTW='-lrfftw -lfftw'
|
|
||||||
+ LIB_FFTW='-ldrfftw -ldfftw'
|
|
||||||
all_libraries="$FFTW_LDFLAGS $all_libraries"
|
|
||||||
fi
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
--- src/foreign/vigra/imageinfo.hxx
|
|
||||||
+++ src/foreign/vigra/imageinfo.hxx
|
|
||||||
@@ -52,6 +52,7 @@
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include <string>
|
|
||||||
+#include <cstring>
|
|
||||||
#include "vigra/utilities.hxx"
|
|
||||||
#include "vigra/codec.hxx"
|
|
||||||
|
|
||||||
--- src/include/common/utils.h
|
|
||||||
+++ src/include/common/utils.h
|
|
||||||
@@ -29,6 +29,8 @@
|
|
||||||
#include <iostream>
|
|
||||||
#include <sstream>
|
|
||||||
#include <cassert>
|
|
||||||
+#include <cstring>
|
|
||||||
+#include <cstdlib>
|
|
||||||
|
|
||||||
#include "platform.h"
|
|
||||||
|
|
||||||
--- src/tools/color_correct_tiff.cpp
|
|
||||||
+++ src/tools/color_correct_tiff.cpp
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-/**
|
|
||||||
+ /**
|
|
||||||
* @file one.cc
|
|
||||||
* @author Philippe Thomin <philippe.thomin@univ-valenciennes.fr>
|
|
||||||
* @date 200511
|
|
||||||
@@ -22,6 +22,8 @@
|
|
||||||
#include <utility>
|
|
||||||
#include <cctype>
|
|
||||||
#include <cmath>
|
|
||||||
+#include <cstdlib>
|
|
||||||
+#include <cstring>
|
|
||||||
#include <tiffio.h>
|
|
||||||
|
|
||||||
/**
|
|
@ -1,67 +0,0 @@
|
|||||||
This patch adds support for JPEG files named "*.jpe".
|
|
||||||
--- src/Panorama/PanoramaMemento.cpp
|
|
||||||
+++ src/Panorama/PanoramaMemento.cpp
|
|
||||||
@@ -270,7 +270,7 @@
|
|
||||||
}
|
|
||||||
setImageSize(vigra::Size2D(width, height));
|
|
||||||
|
|
||||||
- if (ext != "JPG" && ext != "JPEG") {
|
|
||||||
+ if (ext != "JPG" && ext != "JPEG" && ext != "JPE") {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- src/foreign/vigra_impex/jpeg.cxx
|
|
||||||
+++ src/foreign/vigra_impex/jpeg.cxx
|
|
||||||
@@ -81,9 +81,10 @@
|
|
||||||
desc.magicStrings[0][2] = '\377';
|
|
||||||
|
|
||||||
// init file extensions
|
|
||||||
- desc.fileExtensions.resize(2);
|
|
||||||
+ desc.fileExtensions.resize(3);
|
|
||||||
desc.fileExtensions[0] = "jpg";
|
|
||||||
desc.fileExtensions[1] = "jpeg";
|
|
||||||
+ desc.fileExtensions[2] = "jpe";
|
|
||||||
|
|
||||||
desc.bandNumbers.resize(2);
|
|
||||||
desc.bandNumbers[0] = 1;
|
|
||||||
--- src/hugin/LensPanel.cpp
|
|
||||||
+++ src/hugin/LensPanel.cpp
|
|
||||||
@@ -700,7 +700,8 @@
|
|
||||||
// check file extension
|
|
||||||
wxFileName file(wxString(pano.getImage(imgNr).getFilename().c_str(), *wxConvCurrent));
|
|
||||||
if (file.GetExt().CmpNoCase(wxT("jpg")) == 0 ||
|
|
||||||
- file.GetExt().CmpNoCase(wxT("jpeg")) == 0 )
|
|
||||||
+ file.GetExt().CmpNoCase(wxT("jpeg")) == 0 ||
|
|
||||||
+ file.GetExt().CmpNoCase(wxT("jpe")) == 0 )
|
|
||||||
{
|
|
||||||
double cropFactor = 0;
|
|
||||||
double focalLength = 0;
|
|
||||||
@@ -782,7 +783,8 @@
|
|
||||||
// try to read the exif data and add that to the lens ini file
|
|
||||||
wxFileName file(wxString(pano.getImage(imgNr).getFilename().c_str(), *wxConvCurrent));
|
|
||||||
if (file.GetExt().CmpNoCase(wxT("jpg")) == 0 ||
|
|
||||||
- file.GetExt().CmpNoCase(wxT("jpeg")) == 0 )
|
|
||||||
+ file.GetExt().CmpNoCase(wxT("jpeg")) == 0 ||
|
|
||||||
+ file.GetExt().CmpNoCase(wxT("jpe")) == 0 )
|
|
||||||
{
|
|
||||||
|
|
||||||
ImageInfo_t exif;
|
|
||||||
--- src/hugin/MainFrame.cpp
|
|
||||||
+++ src/hugin/MainFrame.cpp
|
|
||||||
@@ -98,6 +98,7 @@
|
|
||||||
|
|
||||||
if (file.GetExt().CmpNoCase(wxT("jpg")) == 0 ||
|
|
||||||
file.GetExt().CmpNoCase(wxT("jpeg")) == 0 ||
|
|
||||||
+ file.GetExt().CmpNoCase(wxT("jpe")) == 0 ||
|
|
||||||
file.GetExt().CmpNoCase(wxT("tif")) == 0 ||
|
|
||||||
file.GetExt().CmpNoCase(wxT("tiff")) == 0 ||
|
|
||||||
file.GetExt().CmpNoCase(wxT("png")) == 0 ||
|
|
||||||
@@ -704,7 +705,7 @@
|
|
||||||
// get the global config object
|
|
||||||
wxConfigBase* config = wxConfigBase::Get();
|
|
||||||
|
|
||||||
- wxString wildcard (_("All Image files|*.jpg;*.JPG;*.tif;*.TIF;*.tiff;*.TIFF;*.png;*.PNG;*.bmp;*.BMP;*.gif;*.GIF;*.pnm;*.PNM;*.sun;*.viff;*.hdr|JPEG files (*.jpg,*.jpeg)|*.jpg;*.JPG;*.jpeg;*.JPEG|All files (*)|*"));
|
|
||||||
+ wxString wildcard (_("All Image files|*.jpg;*.JPG;*.jpeg;*.JPEG;*.jpe;*.JPE;*.tif;*.TIF;*.tiff;*.TIFF;*.png;*.PNG;*.bmp;*.BMP;*.gif;*.GIF;*.pnm;*.PNM;*.sun;*.viff;*.hdr|JPEG files (*.jpg,*.jpeg,*.jpe)|*.jpg;*.JPG;*.jpeg;*.JPEG;*.jpe;*.JPE|All files (*)|*"));
|
|
||||||
|
|
||||||
wxString path = config->Read(wxT("actualPath"), wxT(""));
|
|
||||||
wxFileDialog dlg(this,_("Add images"),
|
|
@ -1,15 +0,0 @@
|
|||||||
--- m4/ax_check_panotools.m4
|
|
||||||
+++ m4/ax_check_panotools.m4
|
|
||||||
@@ -57,11 +57,7 @@
|
|
||||||
passed=0;
|
|
||||||
PANO_OLD_LDFLAGS=$LDFLAGS
|
|
||||||
PANO_OLD_CPPFLAGS=$CPPFLAGS
|
|
||||||
- if test "x$HCPU" = 'xamd64' ; then
|
|
||||||
- LDFLAGS="$LDFLAGS -L$PANO_HOME/lib64"
|
|
||||||
- else
|
|
||||||
- LDFLAGS="$LDFLAGS -L$PANO_HOME/lib"
|
|
||||||
- fi
|
|
||||||
+ LDFLAGS="$LDFLAGS -L$PANO_HOME/lib64"
|
|
||||||
CPPFLAGS="$CPPFLAGS -I$PANO_HOME/include"
|
|
||||||
AC_LANG_SAVE
|
|
||||||
AC_LANG_C
|
|
@ -1,13 +0,0 @@
|
|||||||
autooptimiser.cpp: In function 'int main(int, char**)':
|
|
||||||
autooptimiser.cpp:136: warning: comparison with string literal results in unspecified behaviour
|
|
||||||
--- src/tools/autooptimiser.cpp
|
|
||||||
+++ src/tools/autooptimiser.cpp
|
|
||||||
@@ -133,7 +133,7 @@
|
|
||||||
|
|
||||||
Panorama pano;
|
|
||||||
PanoramaMemento newPano;
|
|
||||||
- if (scriptFile == "-") {
|
|
||||||
+ if (strcmp(scriptFile,"-") == 0) {
|
|
||||||
if (newPano.loadPTScript(cin)) {
|
|
||||||
pano.setMemento(newPano);
|
|
||||||
} else {
|
|
3
hugin-svn20080422.tar.bz2
Normal file
3
hugin-svn20080422.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e2055f0a86c4b09434a83923a2622684ce824cdfab19cea10181f924cc2a1453
|
||||||
|
size 6746328
|
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 23 16:44:45 CEST 2008 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Updated to SVN snapshot 0.7.0.3032:
|
||||||
|
* Support for HDR images.
|
||||||
|
* Large reorganization of the code.
|
||||||
|
* Build moved to cmake.
|
||||||
|
* Many code and algorithm fixes.
|
||||||
|
* Many crash fixes.
|
||||||
|
* Uses exiv2.
|
||||||
|
* OpenGL support.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Apr 7 16:50:59 CEST 2008 - sbrabec@suse.cz
|
Mon Apr 7 16:50:59 CEST 2008 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
81
hugin.spec
81
hugin.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package hugin (Version 0.6.99.4)
|
# spec file for package hugin (Version 0.7.0.3032)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -12,28 +12,20 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: hugin
|
Name: hugin
|
||||||
BuildRequires: SDL-devel boost-devel fdupes fftw-devel gcc-c++ libpano-devel libxml2 licenses python-wxGTK update-desktop-files vigra wxGTK-devel zip
|
BuildRequires: OpenEXR-devel SDL-devel boost-devel cmake fdupes fftw-devel gcc-c++ libexiv2-devel libpano-devel libxml2 licenses python-wxGTK subversion update-desktop-files vigra wxGTK-devel zip
|
||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Summary: Front-End for Panorama Tools
|
Summary: Front-End for Panorama Tools
|
||||||
Version: 0.6.99.4
|
Version: 0.7.0.3032
|
||||||
Release: 107
|
Release: 1
|
||||||
%define _version 0.7_beta4
|
Source: %{name}-svn20080422.tar.bz2
|
||||||
Source: %{name}-%{_version}.tar.bz2
|
|
||||||
Patch2: hugin-fftw.patch
|
|
||||||
Patch4: hugin-jpe.patch
|
|
||||||
Patch64: hugin-lib64.patch
|
|
||||||
Patch11: hugin-0.5-autoconf.diff
|
|
||||||
Patch12: hugin-string-compare.patch
|
|
||||||
Patch13: hugin-CVE-2007-5200.patch
|
|
||||||
Patch14: hugin-includes.patch
|
|
||||||
Url: http://hugin.sourceforge.net/
|
Url: http://hugin.sourceforge.net/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires: licenses
|
Requires: licenses
|
||||||
# Optional package, if missing, it could cause unexpected errors:
|
# Optional package, if missing, it could cause unexpected errors:
|
||||||
Requires: enblend
|
Requires: enblend > 3.0.99
|
||||||
# Optional third party package:
|
# Optional third party package:
|
||||||
Recommends: autopano-sift
|
Recommends: autopano-sift exiftool
|
||||||
|
|
||||||
%description
|
%description
|
||||||
hugin can be used to stitch multiple images together. The resulting
|
hugin can be used to stitch multiple images together. The resulting
|
||||||
@ -54,41 +46,31 @@ Authors:
|
|||||||
Lyndon Hill
|
Lyndon Hill
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{_version}
|
%setup -q -n %{name}
|
||||||
%patch2
|
# Rename Catalan in Spain to Catalan.
|
||||||
%patch4
|
mv src/translations/ca_ES.po src/translations/ca.po
|
||||||
%if %_lib == lib64
|
# Rename Czech in Czech Republic to Czech.
|
||||||
%patch64
|
mv src/translations/cs_CZ.po src/translations/cs.po
|
||||||
%endif
|
#sed -i "s/ca_ES/ca/;s/cs_CZ/cs/" src/hugin/po/LINGUAS
|
||||||
%patch11
|
# Convert Japanese documentation to UTF-8 and delete note about Shift-JIS:
|
||||||
%patch12
|
iconv -f shift-jis -t utf-8 <README_JP >README_JP.new
|
||||||
%patch13
|
sed 1,4d <README_JP.new >README_JP.new2
|
||||||
%patch14
|
touch -r README_JP README_JP.new2
|
||||||
# Rename Spanish Catalan to Catalan.
|
mv README_JP.new2 README_JP
|
||||||
mv src/hugin/po/ca_ES.po src/hugin/po/ca.po
|
rm README_JP.new
|
||||||
# Rename Czech Czech Republic to Czech.
|
|
||||||
mv src/hugin/po/cs_CZ.po src/hugin/po/cs.po
|
|
||||||
sed -i "s/ca_ES/ca/;s/cs_CZ/cs/" src/hugin/po/LINGUAS
|
|
||||||
iconv -f shift-jis -t utf-8 <README_JP | sed 1,4d >README_JP.new
|
|
||||||
touch -r README_JP.new README_JP
|
|
||||||
mv README_JP.new README_JP
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./bootstrap
|
LIB_SUFFIX=%{_lib}
|
||||||
# Needed for hugin-0.6.1:
|
LIB_SUFFIX=${LIB_SUFFIX#lib}
|
||||||
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_SUFFIX=$LIB_SUFFIX .
|
||||||
%configure\
|
|
||||||
--enable-shared\
|
|
||||||
--disable-static\
|
|
||||||
--with-unicode=yes
|
|
||||||
make %{?jobs:-j%jobs}
|
make %{?jobs:-j%jobs}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%makeinstall
|
%makeinstall
|
||||||
%suse_update_desktop_file %{name} Graphics 2DGraphics
|
%suse_update_desktop_file hugin Graphics 2DGraphics
|
||||||
|
%suse_update_desktop_file hugin_stitch_project Graphics 2DGraphics
|
||||||
# locales
|
# locales
|
||||||
%{find_lang} %{name}
|
%{find_lang} %{name}
|
||||||
%{find_lang} nona_gui %{name}.lang
|
|
||||||
# Use better place for MIME icons.
|
# Use better place for MIME icons.
|
||||||
mv $RPM_BUILD_ROOT%{_datadir}/icons/gnome $RPM_BUILD_ROOT%{_datadir}/icons/hicolor
|
mv $RPM_BUILD_ROOT%{_datadir}/icons/gnome $RPM_BUILD_ROOT%{_datadir}/icons/hicolor
|
||||||
%fdupes $RPM_BUILD_ROOT%{_datadir}
|
%fdupes $RPM_BUILD_ROOT%{_datadir}
|
||||||
@ -114,16 +96,27 @@ fi
|
|||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc BUGS AUTHORS COPYING HACKING LICENCE LICENCE_JHEAD LICENCE_VIGRA README README_JP TODO
|
%doc AUTHORS COPYING ChangeLog LICENCE LICENCE_JHEAD LICENCE_VIGRA README README_JP TODO
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_datadir}/hugin
|
%{_datadir}/hugin
|
||||||
%{_datadir}/applications/hugin.desktop
|
%{_datadir}/applications/*.desktop
|
||||||
%{_datadir}/icons/hicolor/48x48/mimetypes/*.png
|
%{_datadir}/icons/hicolor/48x48/mimetypes/*.png
|
||||||
%{_datadir}/mime/packages/*.xml
|
%{_datadir}/mime/packages/*.xml
|
||||||
%{_datadir}/pixmaps/*.png
|
%{_datadir}/pixmaps/*.png
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/*.so.*
|
||||||
%doc %{_mandir}/man?/*
|
%doc %{_mandir}/man?/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 23 2008 sbrabec@suse.cz
|
||||||
|
- Updated to SVN snapshot 0.7.0.3032:
|
||||||
|
* Support for HDR images.
|
||||||
|
* Large reorganization of the code.
|
||||||
|
* Build moved to cmake.
|
||||||
|
* Many code and algorithm fixes.
|
||||||
|
* Many crash fixes.
|
||||||
|
* Uses exiv2.
|
||||||
|
* OpenGL support.
|
||||||
* Mon Apr 07 2008 sbrabec@suse.cz
|
* Mon Apr 07 2008 sbrabec@suse.cz
|
||||||
- Recommend optional packages providing additional functionality.
|
- Recommend optional packages providing additional functionality.
|
||||||
- Package README_JP.
|
- Package README_JP.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user