I made an ebuild for them. It's not perfect by a long shot but it's a good starting point. I think it needs --with-profiling while compiling so that it doesn't try to put things in /usr/share/games/stepmania (which users don't have write access to) but I don't know how to make it use that. with ffmpeg, the latest unstable release, it does compile correctly but I haven't tested it yet.
Created attachment 97862 [details] Test StepMania Ebuild Testing version of my first ebuild. I hope it works well... Also, I'd like it to compile --with-profiling without having to use a use flag but I don't know how.
I also made an ebuild for stepmania 4.0 intermediate releases. This includes an update to make ffmpeg work with the latest release. User files are put in ~/Stepmania, juste like in the 3.9 ebuild.
Created attachment 97872 [details] Stepmania 4.0 intermediate release ebuild
Created attachment 97874 [details, diff] Support latest ffmpeg release
Created attachment 97875 [details, diff] Store configuration files in user home
(In reply to comment #5) > Created an attachment (id=97875) [edit] > Store configuration files in user home > That's what I was looking for! I just chmod -R 775 the whole /usr/share/games/stepmania-cvs directory. I made my ebuild to not overwrite other stepmania installations by changing it to install into stepmania-cvs directory and make the executable stepmania to be stepmania-cvs so you can have both. You should do the same if you haven't already.
*** Bug 149902 has been marked as a duplicate of this bug. ***
Is it going to happen?
I'm going to merge our two ebuilds so that there's only one well-functioning ebuild instead of two.
Created attachment 98792 [details] Fixed, hopefully final StepMania 4.0 Ebuild By our ebuilds combined... I am Captain Planet! wait... Here you are, a fully-functioning StepMania ebuild. Make sure to name the patches "gentoo.patch" and "ffmpeg.patch" and save them into the files dir. Also I fixed a couple of use flags. I need to figure out what the "profiling" one does though...
oops, I forgot to say to rename the ebuild stepmania-cvs-20060831.ebuild. So is this going to be added to an overlay or something?
By the way, the patches are supposed to be "stepmania-ffmpeg.patch" and "stepmania-gentoo.patch", sorry for the mix-up
actually the patches are supposed to be named stepmania-cvs-ffmpeg.patch and stepmania-cvs-gentoo.patch.
Created attachment 102885 [details, diff] A patch I probably incorrectly modified. Someone at the StepMania site said the patch should be changed to place the directory in "~/.StepMania" instead of just "~/StepMania". I am 100% unsure about whether I did this right when I made the modification... what's worse is that I can't test it because I don't have any time at all. So here it is. Please make sure I did it right, I don't want to submit a broken patch to the StepMania developers...
Later. When 4.0 is released.
Created attachment 109480 [details] stepmania cvs ebuild I made stepmania cvs ebuild, based on portage stepmania ebuild and ebuild from bugzilla.
Created attachment 109635 [details] fixed stepmania cvs ebuild This is fixed version of my ebuild. Making game wrapper is working correctly. Also I added to depencies >=media-video/ffmpeg-0.4.9_p20061016 because stepmania was often freezing on "Failed" and "Cleared" screens when compiled with newer ffmpeg version.
Created attachment 128226 [details] stepmania-4.0_rc.ebuild Patches to the FFMPEG is no longer needed in the CVS branch. However, autoconf/video.m4 is still problem. I have updated the ebuild accordingly. The gentoo patch doesn't work either, so it isn't included in the ebuild since it works fine without it. Please find attached.
Created attachment 128228 [details] stepmania-4.0_rc-ffmpeg.patch FFMPEG patch that fix autoconf issue.
Created attachment 128861 [details, diff] stepmania-4.0_rc-ffmpeg.patch
Why there are so much ebuilds? Is it possible to mark a few as obsolete. Should cvs ebuilds not be -9999 or -cvs-xxxxxx (date) ebuilds?
I used the attached ffmpeg patch, but get still an error: i686-pc-linux-gnu-g++ -fno-exceptions -finline-limit=300 -O2 -march=athlon64 -pipe -rdynamic -o stepmania Screen.o ScreenAttract.o ScreenBookkeeping.o ScreenCenterImage.o ScreenContinue.o ScreenCredits.o ScreenDebugOverlay.o ScreenDemonstration.o ScreenEdit.o ScreenEditMenu.o ScreenEnding.o ScreenEvaluation.o ScreenExit.o ScreenNetEvaluation.o ScreenNetSelectMusic.o ScreenNetSelectBase.o ScreenNetRoom.o ScreenGameplay.o ScreenGameplayLesson.o ScreenGameplayNormal.o ScreenGameplaySyncMachine.o ScreenHowToPlay.o ScreenInstructions.o ScreenJukebox.o ScreenMapControllers.o ScreenMessage.o ScreenMiniMenu.o ScreenNameEntry.o ScreenNameEntryTraditional.o ScreenOptions.o ScreenOptionsEditCourse.o ScreenOptionsEditCourseEntry.o ScreenOptionsEditProfile.o ScreenOptionsManageCourses.o ScreenOptionsManageEditSteps.o ScreenOptionsManageProfiles.o ScreenOptionsMaster.o ScreenOptionsMasterPrefs.o ScreenOptionsToggleSongs.o ScreenPackages.o ScreenNetworkOptions.o ScreenPlayerOptions.o ScreenProfileLoad.o ScreenProfileSave.o ScreenPrompt.o ScreenRanking.o ScreenReloadSongs.o ScreenSandbox.o ScreenSaveSync.o ScreenServiceAction.o ScreenStatsOverlay.o ScreenSelect.o ScreenSelectCharacter.o ScreenSelectDifficulty.o ScreenSelectGroup.o ScreenSelectLanguage.o ScreenSelectMaster.o ScreenSelectMode.o ScreenSelectMusic.o ScreenSelectStyle.o ScreenSyncOverlay.o ScreenSystemLayer.o ScreenSetTime.o ScreenSongOptions.o ScreenSplash.o ScreenStage.o ScreenTestFonts.o ScreenTestInput.o ScreenTestLights.o ScreenTestSound.o ScreenTextEntry.o ScreenTitleMenu.o ScreenUnlockBrowse.o ScreenUnlockCelebrate.o ScreenUnlockStatus.o ScreenWithMenuElements.o ScreenSMOnlineLogin.o Attack.o AutoKeysounds.o AdjustSync.o BackgroundUtil.o BannerCache.o CatalogXml.o Character.o CodeDetector.o CodeSet.o Command.o CommonMetrics.o Course.o CourseLoaderCRS.o CourseUtil.o CourseWriterCRS.o DateTime.o Difficulty.o EnumHelper.o Font.o FontCharAliases.o FontCharmaps.o Game.o GameCommand.o GameplayAssist.o GameConstantsAndTypes.o GamePreferences.o GameInput.o Grade.o HighScore.o Inventory.o LocalizedString.o LuaReference.o LuaExpressionTransform.o LyricsLoader.o ModsGroup.o NoteData.o NoteDataUtil.o NoteDataWithScoring.o NoteTypes.o NotesLoader.o NotesLoaderBMS.o NotesLoaderDWI.o NotesLoaderKSF.o NotesLoaderMidi.o NotesLoaderSM.o NotesWriterDWI.o NotesWriterSM.o OptionRowHandler.o OptionsList.o PlayerAI.o PlayerNumber.o PlayerOptions.o PlayerStageStats.o PlayerState.o Preference.o Profile.o RandomSample.o RadarValues.o SampleHistory.o ScreenDimensions.o ScoreKeeper.o ScoreKeeperGuitar.o ScoreKeeperNormal.o ScoreKeeperRave.o Song.o SongCacheIndex.o SongOptions.o SongUtil.o StageStats.o Steps.o SoundEffectControl.o StepsUtil.o Style.o StyleUtil.o TimingData.o Trail.o TrailUtil.o TitleSubstitution.o Tween.o Workout.o RoomWheel.o IniFile.o MsdFile.o XmlFile.o XmlFileUtil.o ExportStrings.o StepMania.o GameLoop.o global.o SpecialFiles.o LoadingWindow.o RageSoundDriver.o RageSoundDriver_Null.o RageSoundDriver_Generic_Software.o RageSoundDriver_OSS.o ALSA9Dynamic.o ALSA9Helpers.o RageSoundDriver_ALSA9_Software.o ArchHooks.o ArchHooksUtil.o ArchHooks_Unix.o InputHandler.o InputHandler_MonkeyKeyboard.o InputHandler_X11.o InputHandler_Linux_Joystick.o MovieTexture.o MovieTexture_Generic.o MovieTexture_Null.o MovieTexture_Theora.o MovieTexture_FFMpeg.o LightsDriver.o LightsDriver_Export.o LightsDriver_SystemMessage.o LightsDriver_LinuxWeedTech.o LightsDriver_LinuxParallel.o MemoryCardDriver.o MemoryCardDriverThreaded_Linux.o LowLevelWindow.o LowLevelWindow_X11.o X11Helper.o AssertionHandler.o GetSysInfo.o SignalHandler.o LinuxThreadHelpers.o RunningUnderValgrind.o EmergencyShutdown.o Backtrace.o BacktraceNames.o CrashHandler.o CrashHandlerChild.o CrashHandlerInternal.o Dialog.o DialogDriver.o Threads_Pthreads.o RageDriver.o BGAnimation.o BGAnimationLayer.o Banner.o DifficultyIcon.o MeterDisplay.o StreamDisplay.o Transition.o ActiveAttackList.o BPMDisplay.o ComboGraph.o CourseContentsList.o DifficultyList.o DifficultyMeter.o DifficultyRating.o DualScrollBar.o EditMenu.o FadingBanner.o GradeDisplay.o GraphDisplay.o GrooveRadar.o GroupList.o HelpDisplay.o MemoryCardDisplay.o MenuTimer.o MusicBannerWheel.o MusicList.o MusicSortDisplay.o MusicWheel.o MusicWheelItem.o OptionIcon.o OptionIconRow.o OptionRow.o OptionsCursor.o PaneDisplay.o ScrollBar.o ScrollingList.o SnapDisplay.o TextBanner.o WheelBase.o WheelItemBase.o WheelNotifyIcon.o WorkoutGraph.o RoomInfoDisplay.o ArrowEffects.o AttackDisplay.o Background.o BeginnerHelper.o CombinedLifeMeterTug.o DancingCharacters.o Foreground.o GhostArrowRow.o HoldJudgment.o LifeMeter.o LifeMeterBar.o LifeMeterBattery.o LifeMeterTime.o LyricDisplay.o NoteDisplay.o NoteField.o PercentageDisplay.o Player.o ReceptorArrow.o ReceptorArrowRow.o ScoreDisplay.o ScoreDisplayBattle.o ScoreDisplayCalories.o ScoreDisplayLifeTime.o ScoreDisplayNormal.o ScoreDisplayOni.o ScoreDisplayPercentage.o ScoreDisplayRave.o get.o maketables.o pcre.o study.o lapi.o lauxlib.o lbaselib.o lcode.o ldblib.o ldebug.o ldo.o ldump.o lfunc.o lgc.o linit.o liolib.o llex.o lmathlib.o lmem.o loadlib.o lobject.o lopcodes.o loslib.o lparser.o lstate.o lstring.o lstrlib.o ltable.o ltablib.o ltm.o lundump.o lvm.o lzio.o RageFileBasic.o RageFile.o RageFileDriver.o RageFileManager.o RageFileDriverDirect.o RageFileDriverDirectHelpers.o RageFileDriverMemory.o RageFileDriverZip.o RageFileDriverDeflate.o RageFileDriverSlice.o RageFileDriverTimeout.o RageSoundReader_WAV.o RageSoundReader_Vorbisfile.o RageSoundReader_MP3.o RageBitmapTexture.o RageDisplay.o RageDisplay_OGL.o RageDisplay_OGL_Helpers.o RageDisplay_Null.o RageException.o RageInput.o RageInputDevice.o RageLog.o RageMath.o RageModelGeometry.o RageSound.o RageSoundManager.o RageSoundUtil.o RageSoundMixBuffer.o RageSoundPosMap.o RageSoundReader.o RageSoundReader_FileReader.o RageSoundReader_ChannelSplit.o RageSoundReader_Extend.o RageSoundReader_Merge.o RageSoundReader_PitchChange.o RageSoundReader_PostBuffering.o RageSoundReader_Pan.o RageSoundReader_Preload.o RageSoundReader_Resample_Good.o RageSoundReader_SpeedChange.o RageSoundReader_ThreadedBuffer.o RageSoundReader_Chain.o RageSurface.o RageSurfaceUtils.o RageSurfaceUtils_Dither.o RageSurface_Save_JPEG.o RageSurfaceUtils_Palettize.o RageSurfaceUtils_Zoom.o RageSurface_Load.o RageSurface_Load_PNG.o RageSurface_Load_JPEG.o RageSurface_Load_GIF.o RageSurface_Load_BMP.o RageSurface_Load_XPM.o RageTexture.o RageTexturePreloader.o RageTextureRenderTarget.o RageSurface_Save_BMP.o RageSurface_Save_PNG.o RageTextureID.o RageTextureManager.o RageThreads.o RageTimer.o RageTypes.o RageUtil.o RageUtil_CachedObject.o RageUtil_CharConversions.o RageUtil_BackgroundLoader.o RageUtil_FileDB.o RageUtil_WorkerThread.o Actor.o ActorFrame.o ActorFrameTexture.o ActorMultiTexture.o ActorProxy.o ActorScroller.o ActorUtil.o ActorSound.o AutoActor.o BitmapText.o Model.o DynamicActorScroller.o ModelManager.o ModelTypes.o Quad.o RollingNumbers.o Sprite.o AnnouncerManager.o Bookkeeper.o CharacterManager.o CryptManager.o FontManager.o GameSoundManager.o GameManager.o GameState.o InputFilter.o InputMapper.o InputQueue.o LuaBinding.o LuaManager.o LightsManager.o MemoryCardManager.o MessageManager.o NetworkSyncManager.o NoteSkinManager.o PrefsManager.o ProfileManager.o ScreenManager.o SongManager.o StatsManager.o ThemeManager.o UnlockManager.o WorkoutManager.o ezsockets.o -lvorbisfile -lvorbis -logg -lmad -lXtst -lXrandr -lGL -lGLU libtomcrypt.a libtommath.a -lavformat -lavcodec -lavutil -lpng -lz -lm -ljpeg -lz -ltheora -logg -lpthread -lrt ArchHooks_Unix.o: In function `ArchHooks_Unix::DumpDebugInfo()': ArchHooks_Unix.cpp:(.text+0x48d): undefined reference to `avcodec_build()' ArchHooks_Unix.cpp:(.text+0x494): undefined reference to `avcodec_version()' MovieTexture_Theora.o: In function `MovieDecoder_Theora::ConvertToSurface(RageSurface*) const': MovieTexture_Theora.cpp:(.text+0x1e3): undefined reference to `avcodec::img_convert(avcodec::AVPicture*, int, avcodec::AVPicture const*, int, int, int)' MovieTexture_Theora.o: In function `MovieDecoder_Theora::MovieDecoder_Theora()': MovieTexture_Theora.cpp:(.text+0x2cc): undefined reference to `avcodec::avcodec_init()' MovieTexture_Theora.o: In function `MovieDecoder_Theora::MovieDecoder_Theora()': MovieTexture_Theora.cpp:(.text+0x37c): undefined reference to `avcodec::avcodec_init()' MovieTexture_FFMpeg.o: In function `MovieTexture_FFMpeg::RegisterProtocols()': MovieTexture_FFMpeg.cpp:(.text+0x1e9): undefined reference to `avcodec::av_register_all()' MovieTexture_FFMpeg.cpp:(.text+0x1f5): undefined reference to `avcodec::register_protocol(avcodec::URLProtocol*)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::GetFrame(RageSurface*)': MovieTexture_FFMpeg.cpp:(.text+0x24b): undefined reference to `avcodec::img_convert(avcodec::AVPicture*, int, avcodec::AVPicture const*, int, int, int)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::DecodePacket(float)': MovieTexture_FFMpeg.cpp:(.text+0x38b): undefined reference to `avcodec::avcodec_decode_video(avcodec::AVCodecContext*, avcodec::AVFrame*, int*, unsigned char*, int)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::ReadPacket()': MovieTexture_FFMpeg.cpp:(.text+0x930): undefined reference to `avcodec::av_read_frame(avcodec::AVFormatContext*, avcodec::AVPacket*)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::Close()': MovieTexture_FFMpeg.cpp:(.text+0xab2): undefined reference to `avcodec::avcodec_close(avcodec::AVCodecContext*)' MovieTexture_FFMpeg.cpp:(.text+0xacb): undefined reference to `avcodec::av_close_input_file(avcodec::AVFormatContext*)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::OpenCodec()': MovieTexture_FFMpeg.cpp:(.text+0x1703): undefined reference to `avcodec::avcodec_close(avcodec::AVCodecContext*)' MovieTexture_FFMpeg.cpp:(.text+0x1717): undefined reference to `avcodec::avcodec_find_decoder(avcodec::CodecID)' MovieTexture_FFMpeg.cpp:(.text+0x1757): undefined reference to `avcodec::avcodec_open(avcodec::AVCodecContext*, avcodec::AVCodec*)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::Rewind()': MovieTexture_FFMpeg.cpp:(.text+0x18f4): undefined reference to `avcodec::av_seek_frame(avcodec::AVFormatContext*, int, long long, int)' MovieTexture_FFMpeg.o: In function `MovieDecoder_FFMpeg::Open(StdString::CStdStr<char>)': MovieTexture_FFMpeg.cpp:(.text+0x19cb): undefined reference to `avcodec::av_open_input_file(avcodec::AVFormatContext**, char const*, avcodec::AVInputFormat*, int, avcodec::AVFormatParameters*)' MovieTexture_FFMpeg.cpp:(.text+0x19f6): undefined reference to `avcodec::av_find_stream_info(avcodec::AVFormatContext*)' MovieTexture_FFMpeg.cpp:(.text+0x1c6f): undefined reference to `avcodec::avcodec_get_pix_fmt_name(int)' collect2: ld returned 1 exit status make[2]: *** [stepmania] Error 1 USE="ffmpeg jpeg mp3%* net%* png%* theora%* vorbis -debug -force-oss -gtk -profiling% (-mad%*)" ffmpeg: 0.4.9_p20070616-r1
Without the patch it is working. So, could anybody explain me, what is the right name for the ebuild?
I made a new stepmania-9999 ebuild from scratch. Although there's quite a showstopper in the current cvs version ( upstream bug: http://sourceforge.net/tracker/?func=detail&aid=2838775&group_id=37892&atid=421366 ), the ebuild seems to work just fine.
Created attachment 203757 [details] stepmania-4 cvs ebuild
Created attachment 203758 [details] patch to use right datadir patch for the stepmania-4 cvs ebuild
(In reply to comment #25) > Created an attachment (id=203757) [details] > stepmania-4 cvs ebuild Worked beautifully for me (with accompanying patch, of course).
>>> Starting src_unpack * subversion check out start --> * repository: https://svn.stepmania.com/svn/trunk/stepmania Error validating server certificate for 'https://svn.stepmania.com:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: stepmaniam2.com - Valid: from Thu, 07 Feb 2008 07:01:36 GMT until Sun, 04 Feb 2018 07:01:36 GMT - Issuer: Internet Security Division, StepMania, Seattle, Washington, US - Fingerprint: b0:7b:dc:ee:44:78:48:4b:76:32:89:d4:01:8d:c4:74:d5:e7:16:5d (R)eject, accept (t)emporarily or accept (p)ermanently? svn: OPTIONS of 'https://svn.stepmania.com/svn/trunk/stepmania': Could not read status line: connection was closed by server (https://svn.stepmania.com) Aside from having to work around that brokenness (which still happens even with "svn --non-interactive --trust-server-cert"), this ebuild and patch work for me, too.