pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

keepassxc: add new package



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <tk%giga.or.at@localhost>
Pushed By:	wiz
Date:		Wed Feb 28 15:40:14 2018 +0100
Changeset:	e90443c50e6fb4bb127eae2e59c0f0d485f880f1

Modified Files:
	Makefile
Added Files:
	keepassxc/DESCR
	keepassxc/Makefile
	keepassxc/PLIST
	keepassxc/TODO
	keepassxc/distinfo
	keepassxc/hacks.mk
	keepassxc/patches/patch-src_CMakeLists.txt

Log Message:
keepassxc: add new package

KeePassXC can store your passwords safely and auto-type them into
your everyday websites and applications.

TODO:
Starts and runs fine, but auto-type plugin reports an error during startup:

Unable to load auto-type plugin:
Cannot resolve symbol "qt_plugin_instance" in /usr/pkg/lib/keepassxc/libkeepassx-autotype-xcb.so: (Undefined symbol "qt_plugin_instance")

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e90443c50e6fb4bb127eae2e59c0f0d485f880f1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                   |   1 +
 keepassxc/DESCR                            |   2 +
 keepassxc/Makefile                         |  35 ++++
 keepassxc/PLIST                            | 249 +++++++++++++++++++++++++++++
 keepassxc/TODO                             |   4 +
 keepassxc/distinfo                         |   7 +
 keepassxc/hacks.mk                         |   7 +
 keepassxc/patches/patch-src_CMakeLists.txt |  16 ++
 8 files changed, 321 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index da7b584830..61a866faa0 100644
--- a/Makefile
+++ b/Makefile
@@ -1586,6 +1586,7 @@ SUBDIR+=	kdf
 SUBDIR+=	kdialog
 SUBDIR+=	keditbookmarks
 SUBDIR+=	keepassx-git
+SUBDIR+=	keepassxc
 SUBDIR+=	kfind
 SUBDIR+=	kgamma5
 SUBDIR+=	kget
diff --git a/keepassxc/DESCR b/keepassxc/DESCR
new file mode 100644
index 0000000000..938c128e82
--- /dev/null
+++ b/keepassxc/DESCR
@@ -0,0 +1,2 @@
+KeePassXC can store your passwords safely and auto-type them into
+your everyday websites and applications.
diff --git a/keepassxc/Makefile b/keepassxc/Makefile
new file mode 100644
index 0000000000..c71b6380dd
--- /dev/null
+++ b/keepassxc/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD: Makefile,v 1.36 2017/09/04 14:43:13 wiz Exp $
+
+DISTNAME=	keepassxc-2.3.0
+CATEGORIES=	security x11
+MASTER_SITES=	${MASTER_SITE_GITHUB:=keepassxreboot/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://keepassxc.org/
+COMMENT=	Password generator and manager
+LICENSE=	gnu-gpl-v2 AND gnu-lgpl-v2 AND gnu-lgpl-v2 AND gnu-lgpl-v3 AND mit AND cc0-1.0-universal
+
+USE_CMAKE=	yes
+USE_LANGUAGES=	c c++
+CMAKE_ARG_PATH=	..
+CMAKE_ARGS+=	-DKEEPASSXC_BUILD_TYPE=Release
+CONFIGURE_DIRS=	build
+
+.PHONY: qmake-bin-add
+pre-configure: qmake-bin-add
+
+qmake-bin-add:
+	${LN} -sf ${QTDIR}/bin/qmake ${BUILDLINK_DIR}/bin/
+
+pre-configure:
+	${MKDIR} ${WRKSRC}/build
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+.include "../../security/argon2/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.include "../../x11/qt5-qttools/buildlink3.mk"
+.include "../../x11/qt5-qtx11extras/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/keepassxc/PLIST b/keepassxc/PLIST
new file mode 100644
index 0000000000..2df743f4da
--- /dev/null
+++ b/keepassxc/PLIST
@@ -0,0 +1,249 @@
+@comment $NetBSD$
+bin/keepassxc
+bin/keepassxc-cli
+lib/keepassxc/libkeepassx-autotype-xcb.so
+man/man1/keepassxc-cli.1
+share/applications/org.keepassxc.KeePassXC.desktop
+share/icons/hicolor/128x128/apps/keepassxc-dark.png
+share/icons/hicolor/128x128/apps/keepassxc-locked.png
+share/icons/hicolor/128x128/apps/keepassxc-unlocked.png
+share/icons/hicolor/128x128/apps/keepassxc.png
+share/icons/hicolor/128x128/mimetypes/application-x-keepassxc.png
+share/icons/hicolor/16x16/apps/keepassxc-dark.png
+share/icons/hicolor/16x16/apps/keepassxc-locked.png
+share/icons/hicolor/16x16/apps/keepassxc-unlocked.png
+share/icons/hicolor/16x16/apps/keepassxc.png
+share/icons/hicolor/16x16/mimetypes/application-x-keepassxc.png
+share/icons/hicolor/22x22/mimetypes/application-x-keepassxc.png
+share/icons/hicolor/24x24/apps/keepassxc-dark.png
+share/icons/hicolor/24x24/apps/keepassxc-locked.png
+share/icons/hicolor/24x24/apps/keepassxc-unlocked.png
+share/icons/hicolor/24x24/apps/keepassxc.png
+share/icons/hicolor/256x256/apps/keepassxc-dark.png
+share/icons/hicolor/256x256/apps/keepassxc-locked.png
+share/icons/hicolor/256x256/apps/keepassxc-unlocked.png
+share/icons/hicolor/256x256/apps/keepassxc.png
+share/icons/hicolor/32x32/apps/keepassxc-dark.png
+share/icons/hicolor/32x32/apps/keepassxc-locked.png
+share/icons/hicolor/32x32/apps/keepassxc-unlocked.png
+share/icons/hicolor/32x32/apps/keepassxc.png
+share/icons/hicolor/32x32/mimetypes/application-x-keepassxc.png
+share/icons/hicolor/48x48/apps/keepassxc-dark.png
+share/icons/hicolor/48x48/apps/keepassxc-locked.png
+share/icons/hicolor/48x48/apps/keepassxc-unlocked.png
+share/icons/hicolor/48x48/apps/keepassxc.png
+share/icons/hicolor/64x64/apps/keepassxc-dark.png
+share/icons/hicolor/64x64/apps/keepassxc-locked.png
+share/icons/hicolor/64x64/apps/keepassxc-unlocked.png
+share/icons/hicolor/64x64/apps/keepassxc.png
+share/icons/hicolor/64x64/mimetypes/application-x-keepassxc.png
+share/icons/hicolor/scalable/apps/keepassxc-dark.svgz
+share/icons/hicolor/scalable/apps/keepassxc-locked.svgz
+share/icons/hicolor/scalable/apps/keepassxc-unlocked.svgz
+share/icons/hicolor/scalable/apps/keepassxc.svgz
+share/icons/hicolor/scalable/mimetypes/application-x-keepassxc.svgz
+share/keepassxc/icons/application/128x128/apps/keepassxc-dark.png
+share/keepassxc/icons/application/128x128/apps/keepassxc-locked.png
+share/keepassxc/icons/application/128x128/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/128x128/apps/keepassxc.png
+share/keepassxc/icons/application/128x128/mimetypes/application-x-keepassxc.png
+share/keepassxc/icons/application/16x16/actions/application-exit.png
+share/keepassxc/icons/application/16x16/actions/auto-type.png
+share/keepassxc/icons/application/16x16/actions/configure.png
+share/keepassxc/icons/application/16x16/actions/database-change-key.png
+share/keepassxc/icons/application/16x16/actions/document-close.png
+share/keepassxc/icons/application/16x16/actions/document-edit.png
+share/keepassxc/icons/application/16x16/actions/document-encrypt.png
+share/keepassxc/icons/application/16x16/actions/document-new.png
+share/keepassxc/icons/application/16x16/actions/document-open.png
+share/keepassxc/icons/application/16x16/actions/document-save-as.png
+share/keepassxc/icons/application/16x16/actions/document-save.png
+share/keepassxc/icons/application/16x16/actions/edit-clear-locationbar-ltr.png
+share/keepassxc/icons/application/16x16/actions/edit-clear-locationbar-rtl.png
+share/keepassxc/icons/application/16x16/actions/entry-clone.png
+share/keepassxc/icons/application/16x16/actions/entry-delete.png
+share/keepassxc/icons/application/16x16/actions/entry-edit.png
+share/keepassxc/icons/application/16x16/actions/entry-new.png
+share/keepassxc/icons/application/16x16/actions/group-delete.png
+share/keepassxc/icons/application/16x16/actions/group-edit.png
+share/keepassxc/icons/application/16x16/actions/group-empty-trash.png
+share/keepassxc/icons/application/16x16/actions/group-new.png
+share/keepassxc/icons/application/16x16/actions/help-about.png
+share/keepassxc/icons/application/16x16/actions/message-close.png
+share/keepassxc/icons/application/16x16/actions/paperclip.png
+share/keepassxc/icons/application/16x16/actions/password-copy.png
+share/keepassxc/icons/application/16x16/actions/password-generate.png
+share/keepassxc/icons/application/16x16/actions/password-generator.png
+share/keepassxc/icons/application/16x16/actions/password-show-off.png
+share/keepassxc/icons/application/16x16/actions/password-show-on.png
+share/keepassxc/icons/application/16x16/actions/system-search.png
+share/keepassxc/icons/application/16x16/actions/url-copy.png
+share/keepassxc/icons/application/16x16/actions/username-copy.png
+share/keepassxc/icons/application/16x16/apps/keepassxc-dark.png
+share/keepassxc/icons/application/16x16/apps/keepassxc-locked.png
+share/keepassxc/icons/application/16x16/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/16x16/apps/keepassxc.png
+share/keepassxc/icons/application/16x16/mimetypes/application-x-keepassxc.png
+share/keepassxc/icons/application/22x22/actions/chronometer.png
+share/keepassxc/icons/application/22x22/actions/dialog-close.png
+share/keepassxc/icons/application/22x22/actions/dialog-ok.png
+share/keepassxc/icons/application/22x22/actions/document-encrypt.png
+share/keepassxc/icons/application/22x22/actions/document-new.png
+share/keepassxc/icons/application/22x22/actions/document-open.png
+share/keepassxc/icons/application/22x22/actions/document-save.png
+share/keepassxc/icons/application/22x22/actions/entry-delete.png
+share/keepassxc/icons/application/22x22/actions/entry-edit.png
+share/keepassxc/icons/application/22x22/actions/entry-new.png
+share/keepassxc/icons/application/22x22/actions/message-close.png
+share/keepassxc/icons/application/22x22/actions/paperclip.png
+share/keepassxc/icons/application/22x22/actions/password-copy.png
+share/keepassxc/icons/application/22x22/actions/password-generator.png
+share/keepassxc/icons/application/22x22/actions/system-search.png
+share/keepassxc/icons/application/22x22/actions/url-copy.png
+share/keepassxc/icons/application/22x22/actions/username-copy.png
+share/keepassxc/icons/application/22x22/mimetypes/application-x-keepassxc.png
+share/keepassxc/icons/application/22x22/status/dialog-error.png
+share/keepassxc/icons/application/22x22/status/dialog-information.png
+share/keepassxc/icons/application/22x22/status/dialog-warning.png
+share/keepassxc/icons/application/24x24/apps/keepassxc-dark.png
+share/keepassxc/icons/application/24x24/apps/keepassxc-locked.png
+share/keepassxc/icons/application/24x24/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/24x24/apps/keepassxc.png
+share/keepassxc/icons/application/256x256/apps/keepassxc-dark.png
+share/keepassxc/icons/application/256x256/apps/keepassxc-locked.png
+share/keepassxc/icons/application/256x256/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/256x256/apps/keepassxc.png
+share/keepassxc/icons/application/32x32/actions/document-edit.png
+share/keepassxc/icons/application/32x32/actions/document-encrypt.png
+share/keepassxc/icons/application/32x32/actions/document-properties.png
+share/keepassxc/icons/application/32x32/actions/key-enter.png
+share/keepassxc/icons/application/32x32/actions/paperclip.png
+share/keepassxc/icons/application/32x32/actions/view-history.png
+share/keepassxc/icons/application/32x32/apps/internet-web-browser.png
+share/keepassxc/icons/application/32x32/apps/keepassxc-dark.png
+share/keepassxc/icons/application/32x32/apps/keepassxc-locked.png
+share/keepassxc/icons/application/32x32/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/32x32/apps/keepassxc.png
+share/keepassxc/icons/application/32x32/apps/preferences-desktop-icons.png
+share/keepassxc/icons/application/32x32/apps/utilities-terminal.png
+share/keepassxc/icons/application/32x32/categories/preferences-other.png
+share/keepassxc/icons/application/32x32/mimetypes/application-x-keepassxc.png
+share/keepassxc/icons/application/32x32/status/security-high.png
+share/keepassxc/icons/application/48x48/apps/keepassxc-dark.png
+share/keepassxc/icons/application/48x48/apps/keepassxc-locked.png
+share/keepassxc/icons/application/48x48/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/48x48/apps/keepassxc.png
+share/keepassxc/icons/application/64x64/apps/keepassxc-dark.png
+share/keepassxc/icons/application/64x64/apps/keepassxc-locked.png
+share/keepassxc/icons/application/64x64/apps/keepassxc-unlocked.png
+share/keepassxc/icons/application/64x64/apps/keepassxc.png
+share/keepassxc/icons/application/64x64/mimetypes/application-x-keepassxc.png
+share/keepassxc/icons/application/scalable/apps/keepassxc-dark.svgz
+share/keepassxc/icons/application/scalable/apps/keepassxc-locked.svgz
+share/keepassxc/icons/application/scalable/apps/keepassxc-unlocked.svgz
+share/keepassxc/icons/application/scalable/apps/keepassxc.svgz
+share/keepassxc/icons/application/scalable/mimetypes/application-x-keepassxc.svgz
+share/keepassxc/icons/database/C00_Password.png
+share/keepassxc/icons/database/C01_Package_Network.png
+share/keepassxc/icons/database/C02_MessageBox_Warning.png
+share/keepassxc/icons/database/C03_Server.png
+share/keepassxc/icons/database/C04_Klipper.png
+share/keepassxc/icons/database/C05_Edu_Languages.png
+share/keepassxc/icons/database/C06_KCMDF.png
+share/keepassxc/icons/database/C07_Kate.png
+share/keepassxc/icons/database/C08_Socket.png
+share/keepassxc/icons/database/C09_Identity.png
+share/keepassxc/icons/database/C10_Kontact.png
+share/keepassxc/icons/database/C11_Camera.png
+share/keepassxc/icons/database/C12_IRKickFlash.png
+share/keepassxc/icons/database/C13_KGPG_Key3.png
+share/keepassxc/icons/database/C14_Laptop_Power.png
+share/keepassxc/icons/database/C15_Scanner.png
+share/keepassxc/icons/database/C16_Mozilla_Firebird.png
+share/keepassxc/icons/database/C17_CDROM_Unmount.png
+share/keepassxc/icons/database/C18_Display.png
+share/keepassxc/icons/database/C19_Mail_Generic.png
+share/keepassxc/icons/database/C20_Misc.png
+share/keepassxc/icons/database/C21_KOrganizer.png
+share/keepassxc/icons/database/C22_ASCII.png
+share/keepassxc/icons/database/C23_Icons.png
+share/keepassxc/icons/database/C24_Connect_Established.png
+share/keepassxc/icons/database/C25_Folder_Mail.png
+share/keepassxc/icons/database/C26_FileSave.png
+share/keepassxc/icons/database/C27_NFS_Unmount.png
+share/keepassxc/icons/database/C28_QuickTime.png
+share/keepassxc/icons/database/C29_KGPG_Term.png
+share/keepassxc/icons/database/C30_Konsole.png
+share/keepassxc/icons/database/C31_FilePrint.png
+share/keepassxc/icons/database/C32_FSView.png
+share/keepassxc/icons/database/C33_Run.png
+share/keepassxc/icons/database/C34_Configure.png
+share/keepassxc/icons/database/C35_KRFB.png
+share/keepassxc/icons/database/C36_Ark.png
+share/keepassxc/icons/database/C37_KPercentage.png
+share/keepassxc/icons/database/C38_Samba_Unmount.png
+share/keepassxc/icons/database/C39_History.png
+share/keepassxc/icons/database/C40_Mail_Find.png
+share/keepassxc/icons/database/C41_VectorGfx.png
+share/keepassxc/icons/database/C42_KCMMemory.png
+share/keepassxc/icons/database/C43_EditTrash.png
+share/keepassxc/icons/database/C44_KNotes.png
+share/keepassxc/icons/database/C45_Cancel.png
+share/keepassxc/icons/database/C46_Help.png
+share/keepassxc/icons/database/C47_KPackage.png
+share/keepassxc/icons/database/C48_Folder.png
+share/keepassxc/icons/database/C49_Folder_Blue_Open.png
+share/keepassxc/icons/database/C50_Folder_Tar.png
+share/keepassxc/icons/database/C51_Decrypted.png
+share/keepassxc/icons/database/C52_Encrypted.png
+share/keepassxc/icons/database/C53_Apply.png
+share/keepassxc/icons/database/C54_Signature.png
+share/keepassxc/icons/database/C55_Thumbnail.png
+share/keepassxc/icons/database/C56_KAddressBook.png
+share/keepassxc/icons/database/C57_View_Text.png
+share/keepassxc/icons/database/C58_KGPG.png
+share/keepassxc/icons/database/C59_Package_Development.png
+share/keepassxc/icons/database/C60_KFM_Home.png
+share/keepassxc/icons/database/C61_Services.png
+share/keepassxc/icons/database/C62_Tux.png
+share/keepassxc/icons/database/C63_Feather.png
+share/keepassxc/icons/database/C64_Apple.png
+share/keepassxc/icons/database/C65_W.png
+share/keepassxc/icons/database/C66_Money.png
+share/keepassxc/icons/database/C67_Certificate.png
+share/keepassxc/icons/database/C68_BlackBerry.png
+share/keepassxc/translations/keepassx_ar.qm
+share/keepassxc/translations/keepassx_ca.qm
+share/keepassxc/translations/keepassx_cs.qm
+share/keepassxc/translations/keepassx_da.qm
+share/keepassxc/translations/keepassx_de.qm
+share/keepassxc/translations/keepassx_el.qm
+share/keepassxc/translations/keepassx_en_US.qm
+share/keepassxc/translations/keepassx_es.qm
+share/keepassxc/translations/keepassx_eu.qm
+share/keepassxc/translations/keepassx_fi.qm
+share/keepassxc/translations/keepassx_fr.qm
+share/keepassxc/translations/keepassx_hu.qm
+share/keepassxc/translations/keepassx_id.qm
+share/keepassxc/translations/keepassx_it.qm
+share/keepassxc/translations/keepassx_ja.qm
+share/keepassxc/translations/keepassx_kk.qm
+share/keepassxc/translations/keepassx_ko.qm
+share/keepassxc/translations/keepassx_lt.qm
+share/keepassxc/translations/keepassx_nl_NL.qm
+share/keepassxc/translations/keepassx_pl.qm
+share/keepassxc/translations/keepassx_pt_BR.qm
+share/keepassxc/translations/keepassx_pt_PT.qm
+share/keepassxc/translations/keepassx_ro.qm
+share/keepassxc/translations/keepassx_ru.qm
+share/keepassxc/translations/keepassx_sl_SI.qm
+share/keepassxc/translations/keepassx_sr.qm
+share/keepassxc/translations/keepassx_sv.qm
+share/keepassxc/translations/keepassx_th.qm
+share/keepassxc/translations/keepassx_tr.qm
+share/keepassxc/translations/keepassx_uk.qm
+share/keepassxc/translations/keepassx_zh_CN.qm
+share/keepassxc/translations/keepassx_zh_TW.qm
+share/keepassxc/wordlists/eff_large.wordlist
+share/metainfo/org.keepassxc.KeePassXC.appdata.xml
+share/mime/packages/keepassxc.xml
diff --git a/keepassxc/TODO b/keepassxc/TODO
new file mode 100644
index 0000000000..42488feb56
--- /dev/null
+++ b/keepassxc/TODO
@@ -0,0 +1,4 @@
+Starts and runs fine, but auto-type plugin reports an error during startup:
+
+Unable to load auto-type plugin:
+Cannot resolve symbol "qt_plugin_instance" in /usr/pkg/lib/keepassxc/libkeepassx-autotype-xcb.so: (Undefined symbol "qt_plugin_instance")
diff --git a/keepassxc/distinfo b/keepassxc/distinfo
new file mode 100644
index 0000000000..b1730888c5
--- /dev/null
+++ b/keepassxc/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.12 2017/09/04 14:43:13 wiz Exp $
+
+SHA1 (keepassxc-2.3.0.tar.gz) = e7b5b9bcd98406cbc495c3e72a134692c32b828d
+RMD160 (keepassxc-2.3.0.tar.gz) = 538ef14052960a11b0f93d897a19f354fed1cb7b
+SHA512 (keepassxc-2.3.0.tar.gz) = 5fa49d44fb821ab131955999aada7f7c3901a98973aca4db7f3884b5c2e3fe31f64178fa36c931a3da9fa833d65dd5e602c101d55bd0b5b15927b55bafd86938
+Size (keepassxc-2.3.0.tar.gz) = 4730464 bytes
+SHA1 (patch-src_CMakeLists.txt) = b49b2f8648d82fb8618ebd8f1f15afd5344bf460
diff --git a/keepassxc/hacks.mk b/keepassxc/hacks.mk
new file mode 100644
index 0000000000..f6ad7d8a4f
--- /dev/null
+++ b/keepassxc/hacks.mk
@@ -0,0 +1,7 @@
+# $NetBSD: hacks.mk,v 1.1 2018/01/21 04:10:44 markd Exp $
+
+# linking -lQt5Widgets on NetBSD with gcc produces
+# ld: BFD (NetBSD Binutils nb1) 2.27 assertion fail
+# /usr/src/external/gpl3/binutils/lib/libbfd/../../dist/bfd/elflink.c:2694
+# unless -lexecinfo preceeds -lQt5Widgets
+BUILDLINK_TRANSFORM.NetBSD+=l:Qt5Widgets:execinfo:Qt5Widgets
diff --git a/keepassxc/patches/patch-src_CMakeLists.txt b/keepassxc/patches/patch-src_CMakeLists.txt
new file mode 100644
index 0000000000..3a51424ab3
--- /dev/null
+++ b/keepassxc/patches/patch-src_CMakeLists.txt
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Fix build on NetBSD.
+https://github.com/keepassxreboot/keepassxc/pull/1557
+
+--- src/CMakeLists.txt.orig	2018-02-27 21:38:05.000000000 +0000
++++ src/CMakeLists.txt
+@@ -175,7 +175,7 @@ if(APPLE)
+         core/MacPasteboard.cpp
+         )
+ endif()
+-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
++if(UNIX AND NOT APPLE)
+     set(keepassx_SOURCES ${keepassx_SOURCES}
+         core/ScreenLockListenerDBus.h
+         core/ScreenLockListenerDBus.cpp


Home | Main Index | Thread Index | Old Index