summaryrefslogtreecommitdiff
path: root/app-crypt/veracrypt
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /app-crypt/veracrypt
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'app-crypt/veracrypt')
-rw-r--r--app-crypt/veracrypt/Manifest4
-rw-r--r--app-crypt/veracrypt/files/veracrypt-1.25.9-wxGTK3.2.patch311
-rw-r--r--app-crypt/veracrypt/files/veracrypt.init17
-rw-r--r--app-crypt/veracrypt/metadata.xml8
-rw-r--r--app-crypt/veracrypt/veracrypt-1.25.9-r2.ebuild106
-rw-r--r--app-crypt/veracrypt/veracrypt-1.26.15-r1.ebuild107
-rw-r--r--app-crypt/veracrypt/veracrypt-1.26.20.ebuild103
-rw-r--r--app-crypt/veracrypt/veracrypt-1.26.7-r1.ebuild111
8 files changed, 767 insertions, 0 deletions
diff --git a/app-crypt/veracrypt/Manifest b/app-crypt/veracrypt/Manifest
new file mode 100644
index 000000000000..06736d61c8ab
--- /dev/null
+++ b/app-crypt/veracrypt/Manifest
@@ -0,0 +1,4 @@
+DIST veracrypt-1.25.9.tar.gz 26200897 BLAKE2B e48f060343f875a0660040dde35fa826ca87c3659d97a039c2b84193276075b4d3596119bde6727e51eead0c876c91a5a1a3ea77717e74061d5d20a4ea1a6fed SHA512 e83bf7ca52d3893347dd06295db0534931f6f388fc6b0f26dc80ffef77f13918bf9558ab8ac2e6225945415f3291646d7c1c8de382dbe8e468ab1e927251982c
+DIST veracrypt-1.26.15.tar.gz 30974645 BLAKE2B 88fd0b84a9c93d7ae524da7b906584ea3f5496d5e9e31a227667d0b1b8a75bdefdb51dd60022cfdb9e7f77d0c5775e946814546eb2392026f405994fb9ae143b SHA512 a3598fd32ac460ce0fc12b5826d39e7969041b78c13a01936a96a5471ce00dbed5af129dd617f5f16d7496f54b106da2f42660366dadd81de5bca9580d8a542a
+DIST veracrypt-1.26.20.tar.gz 29419917 BLAKE2B 5fc6e8cd9b74f1a8f32e4c3c10fdfb30be365cfb4def0eba3e23c4d9286bf55f334bc081e7b6dacf4b7cd8d46d152dd11e6b4d5c49eac4a44c68bd951bff9b33 SHA512 1159a9d9639d92d67f35e74c3e2477de43486ba43871655aad768dfce71d58ca7e606e96e760c16e1a4fd18f30560ce4076f4703a5f85cceb829e8b5a228445f
+DIST veracrypt-1.26.7.tar.gz 30322472 BLAKE2B a71adf9fa5a2aafb9694ccf7a7ac45e6e16cf8277a57f9f52e2fd0ddb2657bd1a28dd4b2c0bf9167298251b4a87ab3f0ca0a8a8424b612be0cd7a4bcc630a438 SHA512 1b0fae30e3a8eb20e1ddcf7697f5b1ce947ddc3555442a561e50fe10bd82183ff5b21dc1c06ce2024eecab869fe38616ac47931c880816f814b961bbd1dec8e2
diff --git a/app-crypt/veracrypt/files/veracrypt-1.25.9-wxGTK3.2.patch b/app-crypt/veracrypt/files/veracrypt-1.25.9-wxGTK3.2.patch
new file mode 100644
index 000000000000..d6ee103c4f3d
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt-1.25.9-wxGTK3.2.patch
@@ -0,0 +1,311 @@
+diff --git a/src/Main/Forms/Forms.cpp b/src/Main/Forms/Forms.cpp
+index d281feb..3ac5bbb 100644
+--- a/Main/Forms/Forms.cpp
++++ b/Main/Forms/Forms.cpp
+@@ -253,7 +253,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+
+ bSizer18->SetMinSize( wxSize( 138,34 ) );
+ VolumePropertiesButton = new wxButton( LowStaticBoxSizer->GetStaticBox(), wxID_ANY, _("IDC_VOLUME_PROPERTIES"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer18->Add( VolumePropertiesButton, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
++ bSizer18->Add( VolumePropertiesButton, 1, wxALL|wxEXPAND, 5 );
+
+
+ gSizer1->Add( bSizer18, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+@@ -263,7 +263,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+
+ bSizer19->SetMinSize( wxSize( 138,34 ) );
+ WipeCacheButton = new wxButton( LowStaticBoxSizer->GetStaticBox(), wxID_ANY, _("HK_WIPE_CACHE"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer19->Add( WipeCacheButton, 1, wxALL|wxALIGN_RIGHT|wxEXPAND, 5 );
++ bSizer19->Add( WipeCacheButton, 1, wxALL|wxEXPAND, 5 );
+
+
+ gSizer1->Add( bSizer19, 0, wxALIGN_RIGHT, 5 );
+@@ -345,7 +345,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+
+ VolumeButton->SetMinSize( wxSize( -1,32 ) );
+
+- sbSizer4->Add( VolumeButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 2 );
++ sbSizer4->Add( VolumeButton, 1, wxEXPAND|wxALL, 2 );
+
+
+ gSizer2->Add( sbSizer4, 1, wxEXPAND, 0 );
+@@ -357,7 +357,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+ MountAllDevicesButton = new wxButton( sbSizer41->GetStaticBox(), wxID_ANY, _("IDC_MOUNTALL"), wxDefaultPosition, wxDefaultSize, 0 );
+ MountAllDevicesButton->SetMinSize( wxSize( -1,32 ) );
+
+- sbSizer41->Add( MountAllDevicesButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 2 );
++ sbSizer41->Add( MountAllDevicesButton, 1, wxEXPAND|wxALL, 2 );
+
+
+ gSizer2->Add( sbSizer41, 1, wxEXPAND, 5 );
+@@ -369,7 +369,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+ DismountAllButton = new wxButton( sbSizer42->GetStaticBox(), wxID_ANY, _("IDC_UNMOUNTALL"), wxDefaultPosition, wxDefaultSize, 0 );
+ DismountAllButton->SetMinSize( wxSize( -1,32 ) );
+
+- sbSizer42->Add( DismountAllButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 2 );
++ sbSizer42->Add( DismountAllButton, 1, wxEXPAND|wxALL, 2 );
+
+
+ gSizer2->Add( sbSizer42, 1, wxEXPAND, 5 );
+@@ -381,7 +381,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
+ ExitButton = new wxButton( sbSizer43->GetStaticBox(), wxID_ANY, _("IDC_EXIT"), wxDefaultPosition, wxDefaultSize, 0 );
+ ExitButton->SetMinSize( wxSize( -1,32 ) );
+
+- sbSizer43->Add( ExitButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 2 );
++ sbSizer43->Add( ExitButton, 1, wxEXPAND|wxALL, 2 );
+
+
+ gSizer2->Add( sbSizer43, 1, wxEXPAND, 5 );
+@@ -586,27 +586,27 @@ WizardFrameBase::WizardFrameBase( wxWindow* parent, wxWindowID id, const wxStrin
+ bSizer70->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ HelpButton = new wxButton( MainPanel, wxID_HELP, _("IDHELP"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer70->Add( HelpButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
++ bSizer70->Add( HelpButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+- bSizer70->Add( 0, 0, 0, wxLEFT|wxALIGN_RIGHT, 5 );
++ bSizer70->Add( 0, 0, 0, wxLEFT, 5 );
+
+ PreviousButton = new wxButton( MainPanel, wxID_ANY, _("PREV"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer70->Add( PreviousButton, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
++ bSizer70->Add( PreviousButton, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
+
+ NextButton = new wxButton( MainPanel, wxID_ANY, _("NEXT"), wxDefaultPosition, wxDefaultSize, 0|wxWANTS_CHARS );
+ NextButton->SetDefault();
+
+- bSizer70->Add( NextButton, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
++ bSizer70->Add( NextButton, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+- bSizer70->Add( 0, 0, 0, wxLEFT|wxALIGN_RIGHT, 5 );
++ bSizer70->Add( 0, 0, 0, wxLEFT, 5 );
+
+ CancelButton = new wxButton( MainPanel, wxID_CANCEL, _("IDCANCEL"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer70->Add( CancelButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
++ bSizer70->Add( CancelButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+- bSizer64->Add( bSizer70, 0, wxEXPAND|wxALIGN_RIGHT|wxALL, 5 );
++ bSizer64->Add( bSizer70, 0, wxEXPAND|wxALL, 5 );
+
+
+ bSizer63->Add( bSizer64, 1, wxEXPAND, 5 );
+@@ -987,7 +987,7 @@ DeviceSelectionDialogBase::DeviceSelectionDialogBase( wxWindow* parent, wxWindow
+ bSizer166->Add( OKButton, 0, wxALL, 5 );
+
+
+- bSizer3->Add( bSizer166, 0, wxALIGN_RIGHT|wxALL|wxEXPAND, 5 );
++ bSizer3->Add( bSizer166, 0, wxALL|wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer3 );
+@@ -1205,7 +1205,7 @@ FavoriteVolumesDialogBase::FavoriteVolumesDialogBase( wxWindow* parent, wxWindow
+ gSizer5->Add( MoveDownButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+ RemoveButton = new wxButton( this, wxID_ANY, _("IDC_KEYREMOVE"), wxDefaultPosition, wxDefaultSize, 0 );
+- gSizer5->Add( RemoveButton, 0, wxALIGN_RIGHT|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
++ gSizer5->Add( RemoveButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+ RemoveAllButton = new wxButton( this, wxID_ANY, _("IDC_KEYREMOVEALL"), wxDefaultPosition, wxDefaultSize, 0 );
+ gSizer5->Add( RemoveAllButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
+@@ -1694,7 +1694,7 @@ MountOptionsDialogBase::MountOptionsDialogBase( wxWindow* parent, wxWindowID id,
+ FilesystemOptionsSizer->Add( MountPointTextCtrlStaticText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+ MountPointTextCtrl = new wxTextCtrl( sbSizer28->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+- FilesystemOptionsSizer->Add( MountPointTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ FilesystemOptionsSizer->Add( MountPointTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
+
+ MountPointButton = new wxButton( sbSizer28->GetStaticBox(), wxID_ANY, _("LINUX_SELECT"), wxDefaultPosition, wxDefaultSize, 0 );
+ FilesystemOptionsSizer->Add( MountPointButton, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+@@ -1705,7 +1705,7 @@ MountOptionsDialogBase::MountOptionsDialogBase( wxWindow* parent, wxWindowID id,
+ FilesystemOptionsSizer->Add( FilesystemOptionsStaticText, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxLEFT, 5 );
+
+ FilesystemOptionsTextCtrl = new wxTextCtrl( sbSizer28->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+- FilesystemOptionsSizer->Add( FilesystemOptionsTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
++ FilesystemOptionsSizer->Add( FilesystemOptionsTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+
+ FilesystemOptionsSizer->AddGrowableCol( 1 );
+@@ -1795,7 +1795,7 @@ NewSecurityTokenKeyfileDialogBase::NewSecurityTokenKeyfileDialogBase( wxWindow*
+ wxArrayString SecurityTokenChoiceChoices;
+ SecurityTokenChoice = new wxChoice( sbSizer42->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, SecurityTokenChoiceChoices, 0 );
+ SecurityTokenChoice->SetSelection( 0 );
+- fgSizer7->Add( SecurityTokenChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ fgSizer7->Add( SecurityTokenChoice, 0, wxALL|wxEXPAND, 5 );
+
+ wxStaticText* m_staticText48;
+ m_staticText48 = new wxStaticText( sbSizer42->GetStaticBox(), wxID_ANY, _("IDT_TOKEN_KEYFILE_NAME"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+@@ -1804,7 +1804,7 @@ NewSecurityTokenKeyfileDialogBase::NewSecurityTokenKeyfileDialogBase( wxWindow*
+ fgSizer7->Add( m_staticText48, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+ KeyfileNameTextCtrl = new wxTextCtrl( sbSizer42->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+- fgSizer7->Add( KeyfileNameTextCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
++ fgSizer7->Add( KeyfileNameTextCtrl, 0, wxEXPAND|wxALL, 5 );
+
+
+ sbSizer42->Add( fgSizer7, 1, wxEXPAND|wxTOP, 5 );
+@@ -1995,7 +1995,7 @@ PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, c
+ fgSizer3->Add( m_staticText6, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
+
+ FilesystemOptionsTextCtrl = new wxTextCtrl( FilesystemSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+- fgSizer3->Add( FilesystemOptionsTextCtrl, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
++ fgSizer3->Add( FilesystemOptionsTextCtrl, 0, wxALL|wxEXPAND, 5 );
+
+
+ FilesystemSizer->Add( fgSizer3, 1, wxEXPAND, 5 );
+@@ -2244,7 +2244,7 @@ PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, c
+ fgSizer4->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+ HotkeyTextCtrl = new wxTextCtrl( sbSizer23->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+- fgSizer4->Add( HotkeyTextCtrl, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
++ fgSizer4->Add( HotkeyTextCtrl, 0, wxALL|wxEXPAND, 5 );
+
+ AssignHotkeyButton = new wxButton( sbSizer23->GetStaticBox(), wxID_ANY, _("IDC_HOTKEY_ASSIGN"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgSizer4->Add( AssignHotkeyButton, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+@@ -2314,7 +2314,7 @@ PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, c
+ OKButton = new wxButton( this, wxID_OK, _("IDOK"), wxDefaultPosition, wxDefaultSize, 0 );
+ OKButton->SetDefault();
+
+- bSizer182->Add( OKButton, 0, wxALIGN_RIGHT|wxALL, 5 );
++ bSizer182->Add( OKButton, 0, wxALL, 5 );
+
+ CancelButton = new wxButton( this, wxID_CANCEL, _("IDCANCEL"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer182->Add( CancelButton, 0, wxALL, 5 );
+@@ -2648,7 +2648,7 @@ EncryptionOptionsWizardPageBase::EncryptionOptionsWizardPageBase( wxWindow* pare
+ bSizer96->Add( EncryptionAlgorithmChoice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ TestButton = new wxButton( sbSizer29->GetStaticBox(), wxID_ANY, _("TEST"), wxDefaultPosition, wxDefaultSize, 0 );
+- bSizer96->Add( TestButton, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ bSizer96->Add( TestButton, 0, wxALL|wxEXPAND, 5 );
+
+
+ sbSizer29->Add( bSizer96, 0, wxEXPAND, 5 );
+@@ -2999,13 +2999,13 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+
+ RandomPoolSampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Courier New") ) );
+
+- bSizer126->Add( RandomPoolSampleStaticText, 0, wxEXPAND|wxTOP|wxRIGHT|wxALIGN_BOTTOM, 7 );
++ bSizer126->Add( RandomPoolSampleStaticText, 0, wxEXPAND|wxTOP|wxRIGHT, 7 );
+
+ DisplayKeysCheckBox = new wxCheckBox( sbSizer31->GetStaticBox(), wxID_ANY, _("IDC_DISPLAY_POOL_CONTENTS"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer126->Add( DisplayKeysCheckBox, 0, wxEXPAND|wxRIGHT, 5 );
+
+
+- fgSizer5->Add( bSizer126, 1, wxEXPAND|wxALIGN_BOTTOM, 5 );
++ fgSizer5->Add( bSizer126, 1, wxEXPAND, 5 );
+
+ wxStaticText* m_staticText28;
+ m_staticText28 = new wxStaticText( sbSizer31->GetStaticBox(), wxID_ANY, _("IDT_HEADER_KEY"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+@@ -3018,7 +3018,7 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+
+ HeaderKeySampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Courier New") ) );
+
+- fgSizer5->Add( HeaderKeySampleStaticText, 0, wxALIGN_BOTTOM|wxEXPAND|wxTOP|wxRIGHT, 2 );
++ fgSizer5->Add( HeaderKeySampleStaticText, 0, wxEXPAND|wxTOP|wxRIGHT, 2 );
+
+ wxStaticText* m_staticText29;
+ m_staticText29 = new wxStaticText( sbSizer31->GetStaticBox(), wxID_ANY, _("IDT_MASTER_KEY"), wxDefaultPosition, wxDefaultSize, 0 );
+@@ -3031,7 +3031,7 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+
+ MasterKeySampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Courier New") ) );
+
+- fgSizer5->Add( MasterKeySampleStaticText, 0, wxEXPAND|wxALIGN_BOTTOM|wxTOP|wxRIGHT, 2 );
++ fgSizer5->Add( MasterKeySampleStaticText, 0, wxEXPAND|wxTOP|wxRIGHT, 2 );
+
+
+ sbSizer31->Add( fgSizer5, 0, wxEXPAND, 5 );
+@@ -3082,16 +3082,16 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+ SizeDoneStaticText = new wxStaticText( m_panel12, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
+ SizeDoneStaticText->Wrap( -1 );
+
+- bSizer115->Add( SizeDoneStaticText, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 3 );
++ bSizer115->Add( SizeDoneStaticText, 1, wxEXPAND|wxALL, 3 );
+
+
+ m_panel12->SetSizer( bSizer115 );
+ m_panel12->Layout();
+ bSizer115->Fit( m_panel12 );
+- bSizer108->Add( m_panel12, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
++ bSizer108->Add( m_panel12, 1, wxEXPAND|wxALL, 5 );
+
+
+- gSizer6->Add( bSizer108, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ gSizer6->Add( bSizer108, 1, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer1081;
+ bSizer1081 = new wxBoxSizer( wxHORIZONTAL );
+@@ -3108,16 +3108,16 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+ SpeedStaticText = new wxStaticText( m_panel121, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
+ SpeedStaticText->Wrap( -1 );
+
+- bSizer1151->Add( SpeedStaticText, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
++ bSizer1151->Add( SpeedStaticText, 1, wxALL|wxEXPAND, 3 );
+
+
+ m_panel121->SetSizer( bSizer1151 );
+ m_panel121->Layout();
+ bSizer1151->Fit( m_panel121 );
+- bSizer1081->Add( m_panel121, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
++ bSizer1081->Add( m_panel121, 1, wxALL|wxEXPAND, 5 );
+
+
+- gSizer6->Add( bSizer1081, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
++ gSizer6->Add( bSizer1081, 1, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer1082;
+ bSizer1082 = new wxBoxSizer( wxHORIZONTAL );
+@@ -3134,7 +3134,7 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+ TimeLeftStaticText = new wxStaticText( m_panel122, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
+ TimeLeftStaticText->Wrap( -1 );
+
+- bSizer1152->Add( TimeLeftStaticText, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
++ bSizer1152->Add( TimeLeftStaticText, 1, wxALL|wxEXPAND, 3 );
+
+
+ m_panel122->SetSizer( bSizer1152 );
+@@ -3143,7 +3143,7 @@ VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWi
+ bSizer1082->Add( m_panel122, 1, wxALL|wxEXPAND, 5 );
+
+
+- gSizer6->Add( bSizer1082, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
++ gSizer6->Add( bSizer1082, 1, wxEXPAND, 5 );
+
+
+ sbSizer32->Add( gSizer6, 0, wxEXPAND|wxTOP, 2 );
+@@ -3362,7 +3362,7 @@ VolumePasswordPanelBase::VolumePasswordPanelBase( wxWindow* parent, wxWindowID i
+ #endif
+ PasswordTextCtrl->SetMinSize( wxSize( 232,-1 ) );
+
+- GridBagSizer->Add( PasswordTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ GridBagSizer->Add( PasswordTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxEXPAND, 5 );
+
+ ConfirmPasswordStaticText = new wxStaticText( this, wxID_ANY, _("IDT_CONFIRM_PASSWORD"), wxDefaultPosition, wxDefaultSize, 0 );
+ ConfirmPasswordStaticText->Wrap( -1 );
+@@ -3380,7 +3380,7 @@ VolumePasswordPanelBase::VolumePasswordPanelBase( wxWindow* parent, wxWindowID i
+ #endif
+ ConfirmPasswordTextCtrl->SetMinSize( wxSize( 232,-1 ) );
+
+- GridBagSizer->Add( ConfirmPasswordTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
++ GridBagSizer->Add( ConfirmPasswordTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxEXPAND, 5 );
+
+ VolumePimStaticText = new wxStaticText( this, wxID_ANY, _("IDT_PIM"), wxDefaultPosition, wxDefaultSize, 0 );
+ VolumePimStaticText->Wrap( -1 );
+@@ -3396,7 +3396,7 @@ VolumePasswordPanelBase::VolumePasswordPanelBase( wxWindow* parent, wxWindowID i
+ #else
+ VolumePimTextCtrl->SetMaxLength( 7 );
+ #endif
+- GridBagSizer->Add( VolumePimTextCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND, 5 );
++ GridBagSizer->Add( VolumePimTextCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxEXPAND, 5 );
+
+ VolumePimHelpStaticText = new wxStaticText( this, wxID_ANY, _("IDC_PIM_HELP"), wxDefaultPosition, wxDefaultSize, 0 );
+ VolumePimHelpStaticText->Wrap( -1 );
+@@ -3677,7 +3677,7 @@ WaitDialogBase::WaitDialogBase( wxWindow* parent, wxWindowID id, const wxString&
+ WaitStaticText = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
+ WaitStaticText->Wrap( -1 );
+
+- bSizer160->Add( WaitStaticText, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
++ bSizer160->Add( WaitStaticText, 0, wxALL|wxEXPAND, 5 );
+
+ WaitProgessBar = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
+ WaitProgessBar->SetValue( 0 );
diff --git a/app-crypt/veracrypt/files/veracrypt.init b/app-crypt/veracrypt/files/veracrypt.init
new file mode 100644
index 000000000000..bbf5a97d2b61
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt.init
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after localmount
+ need device-mapper
+}
+
+stop() {
+ # Try to remove any dm-crypt mappings
+ if [ -x /usr/bin/veracrypt ]; then
+ ebegin "Removing veracrypt mappings"
+ ! /usr/bin/veracrypt -l > /dev/null 2>&1 || /usr/bin/veracrypt -d
+ eend $?
+ fi
+}
diff --git a/app-crypt/veracrypt/metadata.xml b/app-crypt/veracrypt/metadata.xml
new file mode 100644
index 000000000000..fcfc9e3ba6f8
--- /dev/null
+++ b/app-crypt/veracrypt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:idrix:veracrypt</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/app-crypt/veracrypt/veracrypt-1.25.9-r2.ebuild b/app-crypt/veracrypt/veracrypt-1.25.9-r2.ebuild
new file mode 100644
index 000000000000..0e2b125443c2
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.25.9-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note too treecleaners: This is the last veracrypt version that
+# supports mounting truecrypt volumes. Let's give folks more time than
+# usual to figure out what to do with their existing truecrypt volumes.
+# Please do not treeclean before February 2024 unless it's necessary.
+
+WX_GTK_VER="3.2-gtk3"
+inherit desktop flag-o-matic linux-info pax-utils toolchain-funcs wxwidgets xdg
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+
+# The modules not linked against in Linux include (but not limited to):
+# libzip, chacha-xmm, chacha256, chachaRng, rdrand, t1ha2
+# Tested by actually removing the source files and performing a build
+# For this reason, we don't have to worry about their licenses
+LICENSE="Apache-2.0 BSD truecrypt-3.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+asm cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ sys-fs/lvm2
+ sys-fs/fuse:0
+ x11-libs/wxGTK:${WX_GTK_VER}=[X?]
+ app-admin/sudo
+ dev-libs/pkcs11-helper"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ asm? ( dev-lang/yasm )"
+
+CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+
+PATCHES=( "${FILESDIR}/${P}-wxGTK3.2.patch" )
+src_configure() {
+ setup-wxwidgets
+
+ # https://bugs.gentoo.org/786741
+ # std::byte clashes with src/Common/Tcdefs.h typedef
+ append-cxxflags -std=c++14
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ $(usex X "" "NOGUI=1")
+ $(usex asm "" "NOASM=1")
+ $(usex cpu_flags_x86_sse2 "" "NOSSE2=1")
+ $(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
+ $(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ ./Main/veracrypt --text --test || die "tests failed"
+}
+
+src_install() {
+ local DOCS=( Readme.txt )
+
+ dobin Main/veracrypt
+ if use doc; then
+ DOCS+=( "${S}"/../doc/EFI-DCS )
+ docompress -x /usr/share/doc/${PF}/EFI-DCS
+ HTML_DOCS=( "${S}"/../doc/html/. )
+ fi
+ einstalldocs
+
+ newinitd "${FILESDIR}"/veracrypt.init veracrypt
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry veracrypt "VeraCrypt" veracrypt "Utility;Security"
+ fi
+
+ pax-mark -m "${ED}"/usr/bin/veracrypt
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+}
diff --git a/app-crypt/veracrypt/veracrypt-1.26.15-r1.ebuild b/app-crypt/veracrypt/veracrypt-1.26.15-r1.ebuild
new file mode 100644
index 000000000000..3e1fc225f627
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.26.15-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+inherit desktop eapi9-ver flag-o-matic linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+
+# The modules not linked against in Linux include (but not limited to):
+# libzip, chacha-xmm, chacha256, chachaRng, rdrand, t1ha2
+# Tested by actually removing the source files and performing a build
+# For this reason, we don't have to worry about their licenses
+LICENSE="Apache-2.0 BSD RSA truecrypt-3.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+asm cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ app-admin/sudo
+ sys-apps/pcsc-lite
+ sys-fs/fuse:0
+ sys-fs/lvm2
+ x11-libs/wxGTK:${WX_GTK_VER}=[X?]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ asm? ( dev-lang/yasm )
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+
+src_configure() {
+ setup-wxwidgets
+
+ # https://bugs.gentoo.org/786741
+ # std::byte clashes with src/Common/Tcdefs.h typedef
+ append-cxxflags -std=c++14
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ $(usex X "" "NOGUI=1")
+ $(usex asm "" "NOASM=1")
+ $(usex cpu_flags_x86_sse2 "" "NOSSE2=1")
+ $(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
+ $(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ ./Main/veracrypt --text --test || die "tests failed"
+}
+
+src_install() {
+ local DOCS=( Readme.txt )
+
+ dobin Main/veracrypt
+ if use doc; then
+ DOCS+=( "${S}"/../doc/EFI-DCS )
+ docompress -x /usr/share/doc/${PF}/EFI-DCS
+ HTML_DOCS=( "${S}"/../doc/html/. )
+ fi
+ einstalldocs
+
+ newinitd "${FILESDIR}"/veracrypt.init veracrypt
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry veracrypt "VeraCrypt" veracrypt "Utility;Security"
+ fi
+
+ pax-mark -m "${ED}"/usr/bin/veracrypt
+}
+
+pkg_postinst() {
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+
+ # Remove this when we remove veracrypt-1.25.9.ebuild from the tree.
+ if ver_replacing -lt "1.26.7"; then
+ ewarn "Starting with 1.26.7, TrueCrypt volumes are no longer supported."
+ ewarn "Please explore alternatives such as dm-crypt to mount truecrypt volumes."
+ ewarn "Moreover, support for RIPEMD160 and GOST89 is dropped."
+ ewarn "Volumes using these algoritms will no longer mount."
+ fi
+}
diff --git a/app-crypt/veracrypt/veracrypt-1.26.20.ebuild b/app-crypt/veracrypt/veracrypt-1.26.20.ebuild
new file mode 100644
index 000000000000..c82ad1e2093d
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.26.20.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+inherit desktop eapi9-ver linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+
+# The modules not linked against in Linux include (but not limited to):
+# libzip, chacha-xmm, chacha256, chachaRng, rdrand, t1ha2
+# Tested by actually removing the source files and performing a build
+# For this reason, we don't have to worry about their licenses
+LICENSE="Apache-2.0 BSD RSA truecrypt-3.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+asm cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ app-admin/sudo
+ sys-apps/pcsc-lite
+ sys-fs/fuse:0
+ sys-fs/lvm2
+ x11-libs/wxGTK:${WX_GTK_VER}=[X?]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ asm? ( dev-lang/yasm )
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+
+src_configure() {
+ setup-wxwidgets
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ $(usex X "" "NOGUI=1")
+ $(usex asm "" "NOASM=1")
+ $(usex cpu_flags_x86_sse2 "" "NOSSE2=1")
+ $(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
+ $(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ ./Main/veracrypt --text --test || die "tests failed"
+}
+
+src_install() {
+ local DOCS=( Readme.txt )
+
+ dobin Main/veracrypt
+ if use doc; then
+ DOCS+=( "${S}"/../doc/EFI-DCS )
+ docompress -x /usr/share/doc/${PF}/EFI-DCS
+ HTML_DOCS=( "${S}"/../doc/html/. )
+ fi
+ einstalldocs
+
+ newinitd "${FILESDIR}"/veracrypt.init veracrypt
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry veracrypt "VeraCrypt" veracrypt "Utility;Security"
+ fi
+
+ pax-mark -m "${ED}"/usr/bin/veracrypt
+}
+
+pkg_postinst() {
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+
+ # Remove this when we remove veracrypt-1.25.9.ebuild from the tree.
+ if ver_replacing -lt "1.26.7"; then
+ ewarn "Starting with 1.26.7, TrueCrypt volumes are no longer supported."
+ ewarn "Please explore alternatives such as dm-crypt to mount truecrypt volumes."
+ ewarn "Moreover, support for RIPEMD160 and GOST89 is dropped."
+ ewarn "Volumes using these algoritms will no longer mount."
+ fi
+}
diff --git a/app-crypt/veracrypt/veracrypt-1.26.7-r1.ebuild b/app-crypt/veracrypt/veracrypt-1.26.7-r1.ebuild
new file mode 100644
index 000000000000..891ccc7745e7
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.26.7-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+inherit desktop flag-o-matic linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+
+# The modules not linked against in Linux include (but not limited to):
+# libzip, chacha-xmm, chacha256, chachaRng, rdrand, t1ha2
+# Tested by actually removing the source files and performing a build
+# For this reason, we don't have to worry about their licenses
+LICENSE="Apache-2.0 BSD RSA truecrypt-3.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+asm cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc X"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ app-admin/sudo
+ sys-apps/pcsc-lite
+ sys-fs/fuse:0
+ sys-fs/lvm2
+ x11-libs/wxGTK:${WX_GTK_VER}=[X?]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ asm? ( dev-lang/yasm )
+ virtual/pkgconfig"
+
+CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+
+src_configure() {
+ setup-wxwidgets
+
+ # https://bugs.gentoo.org/786741
+ # std::byte clashes with src/Common/Tcdefs.h typedef
+ append-cxxflags -std=c++14
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ $(usex X "" "NOGUI=1")
+ $(usex asm "" "NOASM=1")
+ $(usex cpu_flags_x86_sse2 "" "NOSSE2=1")
+ $(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
+ $(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ ./Main/veracrypt --text --test || die "tests failed"
+}
+
+src_install() {
+ local DOCS=( Readme.txt )
+
+ dobin Main/veracrypt
+ if use doc; then
+ DOCS+=( "${S}"/../doc/EFI-DCS )
+ docompress -x /usr/share/doc/${PF}/EFI-DCS
+ HTML_DOCS=( "${S}"/../doc/html/. )
+ fi
+ einstalldocs
+
+ newinitd "${FILESDIR}"/veracrypt.init veracrypt
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry veracrypt "VeraCrypt" veracrypt "Utility;Security"
+ fi
+
+ pax-mark -m "${ED}"/usr/bin/veracrypt
+}
+
+pkg_postinst() {
+ local version
+
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+
+ # Remove this when we remove veracrypt-1.25.9.ebuild from the tree.
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -lt "1.26.7"; then
+ ewarn "Starting with 1.26.7, TrueCrypt volumes are no longer supported."
+ ewarn "Please explore alternatives such as dm-crypt to mount truecrypt volumes."
+ ewarn "Moreover, support for RIPEMD160 and GOST89 is dropped."
+ ewarn "Volumes using these algoritms will no longer mount."
+ fi
+ done
+}